Aller au contenu

Aide URL Rewriting


Sujets conseillés

Dans le but de passer un site en URL rewriting, j'ai essayé le code .htaccess suivant que j'ai récupéré dans un autre script :

Options FollowSymLinks -Indexes

RewriteEngine on

RewriteRule ^([a-z]+)-([a-z]+)-([0-9a-z_]*)-?(.*)$  $1-$4?$2=$3 [NC,QSA]

RewriteRule ^([a-z]+)-?\.html$ $1.php [NC,L,QSA]

Ce code me donne une erreur 403.

Pour info, le site est hébergé chez OVH.

Qu'est-ce qui peut corriger cette erreur ?

Lien vers le commentaire
Partager sur d’autres sites

A mon avis, chez OVH, il faut mettre le chemin absolu en second argument, par exemple:

RewriteRule ^([a-z]+)-([a-z]+)-([0-9a-z_]*)-?(.*)$  /$1-$4?$2=$3 [NC,QSA]
RewriteRule ^([a-z]+)-?\.html$ /$1.php [NC,L,QSA]

Lien vers le commentaire
Partager sur d’autres sites

Merci, j'avais effectivement oublié ce détail.

Mais il y avait un autre problème qui est résolu en remplacant

Options FollowSymLinks -Indexes
par
Options +FollowSymLinks

Quel est la différence entre ces deux "formules" ?

Lien vers le commentaire
Partager sur d’autres sites

Les deux sont inutiles... en tout cas dans ton cas.

Le +FollowSymlinks donne instruction à Apache de suivre les liens symboliques du répertoire. Tu n'en as vraisemblablement aucun sur un hébergement mutualisé.

L'option -Indexes lui donne instruction de ne pas lister le contenu du répertoire en l'absence de fichier index.html ou index.php

Donc à mon avis, tu peux simplement laisser tomber cette ligne.

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...