Недавно я создал новый веб-сайт, работающий на 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]
Я думаю, что это как-то связано с приведенной выше строкой, но я не знаю что.
Любая помощь будет принята с благодарностью.
Вам необходимо создать отдельный VirtualHost для домена без www и настроить перенаправление с него следующим образом:
По сути, добавление приведенного выше кода в ваш httpd.conf должно решить вашу проблему. Хотя, возможно, вы захотите проконсультироваться с документацией по своей ОС, чтобы добавить виртуальные хосты в apache ...