Как избавиться от WWW из домена и сделать его всегда перенаправленным на https://example.com или https://foo.example.com

Я использую Apache2, и я все еще довольно новичок в этом.

У меня проблема с моим сайтом, вызывающим бесконечные циклы, и я также хочу избавиться от части WWW из моих доменов и поддоменов.

Это мой файл конфигурации для порта 80:

<VirtualHost *:80>
    ServerName foo.example.com
    ServerAlias www.foo.example.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/foo/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =foo.example.ga
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI}
</VirtualHost>

Это мой файл конфигурации для порта 443:

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/foo/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName foo.example.com
ServerAlias www.foo.example.com
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/foo.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/foo.example.com/privkey.pem
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.foo.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
</IfModule>

Now I know that it isn't coded properly, but if someone could point me towards the right direction, that'd be wonderful. Спасибо!

1 ответ

К моей ошибке новичка я не проверял.htaccess, который был в указанном каталоге. Я удалил контент (мне нравится иметь веб-информацию в одном месте) и поместил правила перезаписи в мой файл конфигурации.

Другие вопросы по тегам