htaccess problema con il nome file
-
05-07-2019 - |
Domanda
quando ho configurato il mio sito per la prima volta ho deciso di aggiungere index.html
all'URL, ma ora ho problemi con quando le persone rimuovono index.html
e provano e accedi alla cartella ...
Ad esempio:
RewriteRule ^archives/([0-9]+)/([0-9]+)/index.html archive.php?mid=$1-$2
Quindi quando archives / 07/2009 /
causerà un errore, come posso evitare questo errore?
Acclamazioni
Soluzione
Rendi index.html
opzionale nel tuo RewriteRule
:
RewriteRule ^archives/([0-9]+)/([0-9]+)/(?:index\.html)?$ archive.php?mid=$1-$2
Inoltre, nella regola di riscrittura originale, hai dimenticato la fine dell'ancoraggio della stringa $
. L'ho aggiunto sopra.
Altri suggerimenti
Prova questa regola con un index.html
:
RewriteRule ^archives/([0-9]+)/([0-9]+)/(index\.html)?$ archive.php?mid=$1-$2
Ma ti consiglio di restare solo con una di entrambe le notazioni, con o senza il index.html
finale e reindirizzare se sbagliato:
# remove index.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/)?index\.html$ /$1 [L,R=301]
# add index.html
RewriteRule (.*)/$ $1/index.html [L,R=301]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow