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

È stato utile?

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 :

facoltativo
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
scroll top