problème htaccess avec nom de fichier
-
05-07-2019 - |
Question
quand j'ai configuré mon site pour la première fois, j'ai décidé d'ajouter index.html
à l'URL, mais j'ai maintenant des problèmes avec le moment où les gens suppriment le index.html
et essayent. accédez au dossier ...
Par exemple:
RewriteRule ^archives/([0-9]+)/([0-9]+)/index.html archive.php?mid=$1-$2
Ainsi, lorsque archives / 07/2009 /
sera à l'origine d'une erreur, comment puis-je éviter cette erreur?
A la vôtre
La solution
Rendez le index.html
facultatif dans votre RewriteRule
:
RewriteRule ^archives/([0-9]+)/([0-9]+)/(?:index\.html)?$ archive.php?mid=$1-$2
En outre, dans votre règle de réécriture d'origine, vous avez oublié votre extrémité d'ancrage de chaîne $
. Je l'ai ajouté ci-dessus.
Autres conseils
Essayez cette règle avec un index.html
:
RewriteRule ^archives/([0-9]+)/([0-9]+)/(index\.html)?$ archive.php?mid=$1-$2
Mais je vous recommande de vous en tenir à l'une des deux notations, avec ou sans le index.html
de fin, et de rediriger si faux:
# remove index.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/)?index\.html$ /$1 [L,R=301]
# add index.html
RewriteRule (.*)/$ $1/index.html [L,R=301]