Come posso aggiungere la regola di riscrittura in htaccess solo per la home page?


1

Ho un problema con Apache.

Il mio sito ha ora queste regole:

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule .* path/to/html/my.html [L]

Ho bisogno di creare regole solo per la home page per il reindirizzamento a un altro file html. Come posso fare questo?

La vecchia regola deve funzionare per altre pagine del sito.

Ci provo, ma non è un lavoro:

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com$ [NC]
RewriteRule ^$ path/to/html/my-new.html [L]

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule ^/(.*) path/to/html/my.html [L]

Risposte:


1

Se intendi che vorresti cambiare la pagina indice predefinita in modo che quando i visitatori si aprano http://mysqite.com , my.html verrebbe fuori, puoi provare questo nel file .htaccess:

DirectoryIndex mio.html

Non è richiesta alcuna riscrittura.


Modificare:

Mi dispiace, ho perso il tuo punto sulle regole esistenti. Puoi scrivere le regole in questo modo:

RewriteRule ^ $ /path/to/html/my-new.html [L]

RewriteRule! ^ / Percorso / a / html / mio-nuovo.html $ percorso / a / html / mio.html [L]

Quindi in pratica lo stai dicendo di reindirizzare le richieste con il nome host solo a my-new.html e tutto il resto a mio.html. La seconda riga esclude esplicitamente la richiesta my-new.html. Se non viene specificato esplicitamente, quando viene eseguita la riscrittura della prima riga, verrà attivata la seconda riga e alla fine tutto verrà reindirizzato a my.html.


Funziona, ok, grazie, ma come posso riscriverlo su altre pagine?
PavelKozlov

Mi dispiace, ho perso parte della tua domanda. Ho modificato la risposta sopra, per favore controlla.
user2528260

Grazie! Funziona!!!
PavelKozlov
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.