Согласно Apache documentation, использование mod_alias
является более подходящим, чем mod_rewrite
для выполнения этой задачи. То есть, для того, чтобы перенаправить весь HTTP трафик HTTPS, один будет:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent/https://www.example.com/
</VirtualHost >
<VirtualHost *:443>
ServerName www.example.com
# ... SSL configuration goes here
</VirtualHost >
Две вещи, чтобы отметить о такой конфигурации:
- Вам необходим доступ к главному файлу конфигурации сервера для того, чтобы это конфигурация для работы. Директива
VirtualHost
действительна только в контексте конфигурации сервера.
- Имейте в виду, что директивы
mod_rewrite
обрабатываются до mod_alias
. Если у вас уже есть массивный блок RewriteRule
s в вашем файле .htaccess
, вам может быть лучше с конфигурацией mod_rewrite
.
Пожалуйста, используйте example.com для всех проблем с доменом, если вы не хотите использовать свой фактический домен. – animuson
Возможный дубликат [Как перенаправить все HTTP-запросы на HTTPS] (http://stackoverflow.com/questions/4083221/how-to-redirect-all-http-requests-to-https) – Sadurnias