URL Rewritting simplissime
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

URL Rewritting simplissime

Par
YvonnickV
Créé le 2018-06-14 07:43:14 (edited on 2024-09-04 11:08:54) dans Hébergements Web

Bonjour,

Je mes en place l'URL Rewritting sur mon site OVH mais ca ne fonctionne pas du tout.

La portion intéressante de mon fichier .htaccess est la suivante:

RewriteEngine On
RewriteRule ^/src/tarifs-([a-z0-9\-]+)\.html$ /src/tarifs/tarifs.php?p=$1

Avant le "/src/" dans ma règle de réécriture d'URL j'ai essayé de mettre mon site "https://www.monsite.fr/src/tarifs/" mais ca ne fonctionne pas non plus.

J'ai essayé plusieurs autres combinaisons mais je me demande si l'URL Rewritting est bien activé sur mon site/serveur Apache. Ou si c'est ma règle qui est incorrecte. Une idée ?


9 réponses ( Latest reply on 2018-06-17 13:02:07 Par
YvonnickV
)

La règle semble correcte mais l'encodage peut-être pas. Avec quoi édites-tu ton texte ?

Merci Daniel pour ton intérêt à ma question.

J'utilise un ancien WebMatrix de Microsoft. Il n'existe plus mais il est éprouvé (depuis le temps que je l'utilise, moi et par d'autre). Je n'ai aucun doute sur sa "capabilité"... Je vais essayé avec éditeur différent, au cas où.

Bon. Daniel, j'ai légèrement retravaillé mon fichier .htaccess par Visual Studio Code (excellent truc), je l'ai enregistré puis mis sur mon site web. Résultat: cela ne fonctionne pas. Es-tu certain que ma règle est correct ?

Pour mémoire, voilà mon fichier .htaccess entier (il y a pas mal de commentaires précédés par #, attention). Tu vas remarquer la règle en question dedans.

[code]
# Alternative pour empêcher le listage des répertoires
IndexIgnore *

# Masquer les informations du serveur
ServerSignature Off

# Activation du suivi des liens symboliques
Options +FollowSymLinks

# Choix du fuseau horaire
SetEnv TZ Europe/Paris

# Encodage par défaut des fichiers textes et HTML
AddDefaultCharset UTF-8

# Protéger les fichiers .htaccess et .htpasswds

order allow,deny
deny from all
satisfy all


RewriteEngine On

# pour rediriger automatiquement vers https
# RewriteCond %{HTTPS} off
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

# Pour rediriger index.htm vers index.php. Inutile puisque l'on utilise un header(url) en PHP.
# RewriteRule ^index\.html$ /index.php [L]

# RewriteRule ^/articles/lire-([0-9]+)-([a-z0-9\-]+)\.html$ /index.php?rub=lireArticle&id=$1
RewriteRule ^/src/tarifs-([a-z0-9\-]+)\.html$ /src/tarifs/tarifs.php?p=$1

# Test
# RewriteCond %{SERVER_PORT} 80
# RewriteRule ^(.*)$ $1 [R,L]

[/code]

Janus: fait. Merci.

Bonjour,

Je vous conseil de mettre votre code entre balise [code][ //code]

Cordialement, janus57

Janus: Fait, message plus haut. Merci.

Bon. Quid de cette règle:

[code]
RewriteRule ^/src/tarifs-([a-z0-9\-]+)\.html$ /src/tarifs/tarifs.php?p=$1
[/code]

Une idée ?

Daniel60, pour mon fichier .htaccess j'ai utilisé plusieurs autres éditeurs dont le très basic Notepad inclus dans Windows. J'ai essayé de mettre une tabulation au lieu d'un espace dans la règle. J'ai encodé le fichier en UTF-8.

J'ai toujours le même problème. Je ne vais pas insister.

Si vous codez en UTF-8 veillez à ce qu'il soit sans BOM. L'idéal étant l'ASCII.

J'ai (l'éditeur) du mettre un BOM quelque part. J'ai eu un Internal Error sur le site web, ce qui veut dire que mon fichier .htaccess était mal encodé. J'ai juste supprimé le première caractère du fichier (c'est le BOM) et ca fonctionne mieux.

Ma règle ne fonctionne toujours pas. J'abandonne pour aujourd'hui Dimanche, c'est pas très grave.