Не удается перенаправить www to без www - PullRequest
0 голосов
/ 14 января 2020

Я использую VPS. Там я разместил 3 веб-сайта и установил для них SSL.

a1.com using SSL1 
a2.com using SSL2
a3.com using SSL3

при запуске https://a1.com он будет перенаправлен на сайт a1.com -> Все нормально

когда я запускаю http://a1.com он будет перенаправлен на сайт a1.com -> Все нормально

но когда я запускаю https://www.a1.com или http://www.a1.com он будет перенаправлен на сайт a2 -> ЗДЕСЬ проблема

при запуске https://a3.com он будет перенаправлен на https сайта a3.com -> Все нормально

когда я запускаю http://a3.com он будет перенаправлен на https на сайте a3.com -> Все нормально

, но когда я запускаю https://www.a3.com или http://www.a3.com он будет перенаправлен на сайт a2 -> ЗДЕСЬ проблема

Можете ли вы сказать мне, в чем здесь проблема?

Вот файл конфигурации в / etc / apache2 / sites-available

  1. Веб-сайт a1 и a3
<IfModule mod_ssl.c>
    <VirtualHost a1.com:443>
        ServerAdmin webmaster@localhost
        ServerName a1.com:443
        ServerAlias www.a1.com:443
        DocumentRoot /home/a1/public_html
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/a1-cert.crt
        SSLCertificateKeyFile /etc/apache2/ssl/a1-private.key
        #SSLCertificateFile /etc/apache2/ssl/apache.crt
        #SSLCertificateKeyFile /etc/apache2/ssl/apache.key

        <Directory /home/a1/public_html>
            AllowOverride All
            Order Deny,Allow
            Require all granted
            DirectoryIndex index.php index.html index.htm
        </Directory>
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch "MSIE [2-6]" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
        # MSIE 7 and newer should be able to use keepalive
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown     
    </VirtualHost>


</IfModule>

.htaccess файл

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    RewriteEngine On

    RewriteCond %{HTTPS} !on
    RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{THE_REQUEST} ^.*/index\.php 
    RewriteRule ^(.*)index.php$ /$1 [R=301,L]
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...