Differenza tra "Reindirizzamento permanente" rispetto a mod_rewrite RewriteRule


9

Questo è un server Apache httpd 2.2.

Richiediamo che l'accesso a questo server web sia crittografato da HTTPS.

Quando i client Web visitano il mio sito all'indirizzo http://www.example.org/ $ foo (porta 80), desidero reindirizzare la loro richiesta al sito Web crittografato HTTPS all'indirizzo https://www.example.org/ $ foo.

Sembra che ci siano due modi comuni per farlo:

Il primo metodo utilizza la direttiva ' Redirect ' da mod_alias:

<VirtualHost *:80>
    Redirect permanent / https://www.example.org/
</VirtualHost>

Il secondo metodo utilizza mod_rewrite:

<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

Qual è la differenza tra un "reindirizzamento permanente" e la stanza mod_rewrite. Uno è meglio dell'altro?

Risposte:


8

Per impostazione predefinita mod_rewrite esegue reindirizzamenti "302 trovati", che sono temporanei. Supponendo che tutto il resto sia uguale, Redirect permanentequivale a RewriteRule <blah> [R=permanent].


In realtà no, la Redirectdirettiva gestisce meglio il reindirizzamento da http a https. Vedi il commento di Stefan qui sotto e controlla questa sezione della documentazione di Apache: httpd.apache.org/docs/current/rewrite/avoid.html#redirect
Gondy

7

Uno è meglio dell'altro?

Apache ora consiglia l'uso di Redirectfrom mod_aliasanziché di RewriteRulefrom mod_rewrite. Vedi https://httpd.apache.org/docs/current/rewrite/avoid.html#redirect , che dice:

mod_rewrite dovrebbe essere considerato l'ultima risorsa, quando si trovano altre alternative carenti. Usarlo quando ci sono alternative più semplici porta a configurazioni confuse, fragili e difficili da mantenere.


5

I motori di ricerca vedranno un reindirizzamento permanente e aggiorneranno i loro indici di conseguenza.


> È uno migliore dell'altro?
Stefan Lasiewski,
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.