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

Était-ce utile?

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 :

facultatif.
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]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top