Виртуальный хост Apache не работает для доменов www
Я пытаюсь перенаправить на сайт URL-адрес: www.example.com, но это запрещает мне 403. Сайт работает с example.com, https://www.example.com/ https://example.com/
вот мой виртуальный хост:
<VirtualHost :*80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /home/asd/sites/example.com/public_html
<Directory /home/asd/sites/example.com/public_html>
AllowOverride all
Options Indexes FollowSymLinks Includes ExecCGI
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName example.com
ServerAlias www.example.com
ServerAdmin example.com@gmail.com
DocumentRoot /home/asd/sites/example.com/public_html
SSLEngine On
SSLCertificateFile /home/asd/ssl_certs/example.com.crt
SSLCertificateKeyFile /home/asd/ssl_certs/example.com.key
SSLCACertificateFile /home/asd/ssl_certs/example.com.intermediate.crt
<Directory /home/asd/sites/example.com/public_html>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)(.*) [NC]
RewriteRule (.*) https://%2%{REQUEST_URI} [L,R=301]
AllowOverride all
Options Indexes FollowSymLinks Includes ExecCGI
Require all granted
</Directory>
Я попытался включить и отключить 000-default.conf, а также. но если я включу это, то www.example перейдет в корневой каталог apache index.html.
Хотя https://www.example.com/ работает нормально.
Я пытался заставить это работать в течение многих часов, но я не в состоянии сделать это. Любая помощь будет оценена.
Я хочу, чтобы весь трафик шел с не http на https и с www на не www.
Спасибо!
1 ответ
Оказалось, что это была опечатка. Потратил весь мой день на выяснение проблемы.
Это было:
<VirtualHost :*80>
который должен быть:
<VirtualHost *:80>