To jest serwer Apache httpd 2.2.
Wymagamy, aby dostęp do tego serwera był szyfrowany przez HTTPS.
Kiedy klienci sieci odwiedzają moją witrynę pod adresem http://www.example.org/ $ foo (port 80), chcę przekierować ich żądanie do zaszyfrowanej strony internetowej HTTPS pod adresem https://www.example.org/ $ foo.
Wydaje się, że istnieją dwa typowe sposoby:
Pierwsza metoda wykorzystuje dyrektywę „ Przekierowanie ” z mod_alias:
<VirtualHost *:80>
Redirect permanent / https://www.example.org/
</VirtualHost>
Druga metoda wykorzystuje mod_rewrite:
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
Jaka jest różnica między „stałym przekierowaniem” a zwrotką mod_rewrite. Czy jedno jest lepsze od drugiego?
źródło
Redirect
dyrektywa lepiej obsługuje przekierowanie z http na https. Zobacz komentarz Stefana poniżej i sprawdź tę sekcję dokumentacji Apache: httpd.apache.org/docs/current/rewrite/avoid.html#redirectApache teraz zaleca stosowanie
Redirect
odmod_alias
zamiast korzystaniaRewriteRule
zmod_rewrite
. Zobacz https://httpd.apache.org/docs/current/rewrite/avoid.html#redirect , który mówi:źródło
Wyszukiwarki zobaczą stałe przekierowanie i odpowiednio zaktualizują swoje indeksy.
źródło