Aller au contenu

Sujets conseillés

Posté

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 ?

Posté

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]

Posté

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" ?

Posté

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

Veuillez vous connecter pour commenter

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



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