Перенаправление Apache - давайте зашифруем перенаправление SSL-сертификата на голый домен, а не на www

Недавно я создал новый веб-сайт, работающий на Wordpress, который отлично работает. Поскольку я хотел иметь сертификат SSL для веб-сайта, я подумал, что буду использовать Let's Encrypt, так как слышал о нем много хорошего.

Ну, я должен согласиться, что на то, чтобы SSL работал, потребовалось 30 секунд мой домен, но есть одна небольшая проблема.

Let's encrypt установил следующие правила:

http://domain.com -> https://domain.com (сбой)

http: // www .domain.com -> https://www.domain.com (работает)

Сертификат только для www.domain.com, что раздражает. Раньше все купленные мной SSL-сертификаты включали в SSL-сертификат как domain.com, так и www.domain.com. Не уверен, что я сделал что-то не так при получении сертификата Let's Encrypt, но так оно и есть.

Все, что мне нужно сделать, это изменить все так, чтобы http://domain.com перенаправлялся на https://www.domain.com .

Но поскольку я новичок в Apache, я понятия не имею, как это сделать. В моем файле .htaccess есть следующее правило перенаправления, но его нет. Кажется, это помогает, поскольку Apache, кажется, перенаправляет до того, как запрос попадает в правило перезаписи в файле .htaccess. Вот правило:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Так что я довольно сильно зациклился на этой конкретной проблеме. Сайт правильно перенаправлен с domain.com на www.domain.com до того, как я добавил сертификат SSL, так что похоже, что это было сделано при автоматической установке Let's Encrypt, и я не могу его найти.

Это правило перезаписи Let's Encrypt добавлено в мой файл конфигурации Apache:

RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]

Я думаю, что это как-то связано с приведенной выше строкой, но я не знаю что.

Любая помощь будет принята с благодарностью.

0
задан 9 January 2016 в 23:24
1 ответ

Вам необходимо создать отдельный VirtualHost для домена без www и настроить перенаправление с него следующим образом:

ServerName domain.com Перенаправление 301 / https://www.domain.com

По сути, добавление приведенного выше кода в ваш httpd.conf должно решить вашу проблему. Хотя, возможно, вы захотите проконсультироваться с документацией по своей ОС, чтобы добавить виртуальные хосты в apache ...

2
ответ дан 4 December 2019 в 13:44

Теги

Похожие вопросы