Не SSL к SSL и WWW to NON www at конфиг vhost - PullRequest
0 голосов
/ 10 января 2020

У меня есть конфигурация vhost, которая отлично работает для SSL. Затем я добавил это для перенаправления с не SSL на SSL.

<VirtualHost *:80>
ServerName example.com
ServerAdmin mail@example.com

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

Это тоже прекрасно работает. Но теперь мне нужен конфиг для перенаправления www to non www. Итак, я имею в виду следующее:

https://www.example.com => https://example.com
http://www.example.com => https://example.com

Я попробовал это так:

<VirtualHost *:80>
ServerName www.example.com
ServerAdmin mail@example.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)*(.*)$ [NC]
RewriteRule ^/(.*)$ https://%2/$1 [R=301,NC,L]
</VirtualHost>

<VirtualHost *:443>
ServerName www.example.com
ServerAdmin mail@example.com
SSLEngine on
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)*(.*)$ [NC]
RewriteRule ^/(.*)$ https://%2/$1 [R=301,NC,L]
</VirtualHost>

Но когда я пытался проверить это с помощью curl, я всегда получаю ответ, который http://www.example.com был перенаправлен на https://www.example.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...