Виртуальный хост 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>
Другие вопросы по тегам