2016-09-25 2 views
2

У меня проблема с apache2. Я хотел бы перенаправить оба порта 80 на порт 443, а также перенаправить не www на www.Перенаправление Apache как с http на https, так и без www на www

В следующей конфигурации у меня есть НТТР HTTPS Перенаправление работает отлично:

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

<VirtualHost *:443> 
    ServerName www.example.com 
    DirectoryIndex index.html 
    ... 
</VirtualHost> 

Проблема заключается в следующем, я могу перенаправить HTTP к HTTPS хорошо, однако, когда я иду в https://example.com не перенаправлять https://www.example.com

Может ли кто-нибудь помочь мне с этой проблемой?

ответ

1

В вашем <VirtualHost *:443> разделе, добавьте следующие правила:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
RewriteRule^https://www.example.com%{REQUEST_URI} [R=301,L] 
+1

Это отлично работает. Спасибо за помощь. Можете ли вы предоставить мне документацию на mod_rewrite, чтобы я мог лучше понять методологию в этих правилах? Еще раз спасибо. –

+0

@AaronCouch В качестве новичка я предлагаю вам начать с: https://devdocs.io/apache_http_server/rewrite/intro. Кроме того, если ответ помог, отметьте его как таковой, чтобы вопрос не попадал в список под неотвеченными вопросами. список! :) – hjpotter92