Я хочу перенаправить любой трафик, который переходит к http://example.com к https://example.com
то же для http://example.com/about к https://example.com/about
Я думал, что это будет что-то вроде этого:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
У меня это работает:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Если трафик поступает по протоколу HTTP без SSL, то перенаправьте его на HTTP-эквивалент любой страницы, к которой пользователь изначально пытался получить доступ. Он также не включает никаких параметров mod_rewrite, поэтому его легко читать.
Дополнительная напыщенная речь: почему каждый чувствует необходимость явно установить HTTP-код перенаправления и пометить одну из своих перезаписей как «последнюю»? Серьезно, я видел десятки одинаковых правил htaccess всего за последние несколько дней.