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.