Это сервер Apache httpd 2.2.
Мы требуем, чтобы доступ к этому веб-серверу был зашифрован HTTPS.
Когда веб-клиенты посещают мой сайт по адресу http://www.example.org/ $ foo (порт 80), я хочу перенаправить их запрос на зашифрованный HTTPS-сайт по адресу https://www.example.org/ $ foo.
Кажется, есть два распространенных способа сделать это:
Первый метод использует директиву Redirect из mod_alias:
<VirtualHost *:80>
Redirect permanent / https://www.example.org/
</VirtualHost>
Второй метод использует mod_rewrite:
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
В чем разница между перманентом Redirect и разделом mod_rewrite. Один лучше другого?
apache-2.2
mod-rewrite
apache-2.4
redirect
Стефан Ласевский
источник
источник
Redirect
директива лучше обрабатывает перенаправление с http на https. Смотрите комментарий Стефана ниже и проверить этот раздел Apache документации: httpd.apache.org/docs/current/rewrite/avoid.html#redirectApache теперь рекомендует использовать
Redirect
frommod_alias
вместо использованияRewriteRule
frommod_rewrite
. См. Https://httpd.apache.org/docs/current/rewrite/avoid.html#redirect , где говорится:источник
Поисковые системы увидят постоянное перенаправление и обновят свои индексы соответственно.
источник