Apache2 redireciona www para não www (com SSL)

2

Pessoas sábias,

Estou tentando realizar o seguinte:

Redirecionar:

http://www.veluwsvuurbarneveld.nl    
http://veluwsvuurbarneveld.nl 
https://www.veluwsvuurbarneveld.nl

Para

https://veluwsvuurbarneveld.nl

O objetivo é enviar todos os URLs relacionados para o endereço não www, SSL.

Este é o código em mij apache2 config (Linhas que apontam para chaves SSL removidas):

<VirtualHost *:443>
     ServerName veluwsvuurbarneveld.nl
     DocumentRoot /var/www/

     SSLEngine on
     SSLCertificateFile /etc/ssl/certs/...
     SSLCertificateKeyFile /etc/ssl/private/...
     SSLCACertificateFile /etc/ssl/certs/...
</VirtualHost>
<VirtualHost *:80>
     ServerName www.veluwsvuurbarneveld.nl
     Redirect permanent / https://veluwsvuurbarneveld.nl/
</VirtualHost>
<VirtualHost *:80>
     ServerName veluwsvuurbarneveld.nl
     Redirect permanent / https://veluwsvuurbarneveld.nl/
</VirtualHost>
<VirtualHost *:443>
     ServerName www.veluwsvuurbarneveld.nl
     Redirect permanent / https://veluwsvuurbarneveld.nl/
</VirtualHost>

<Directory /var/www/>
    Options +ExecCGI
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
</Directory>

O resultado é que o link foi reencaminhado corretamente, mas os dois www. URLs não são. Meu primeiro pensamento foi que o link . também precisava de um certificado. Isso, no entanto, não explica o outro www. não está funcionando.

Meu .htaccess se parece com isso (gerado pelo wordpress):

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Saída do apache2ctl -S:

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server localhost (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost www.veluwsvuurbarneveld.nl (/etc/apache2/sites-enabled/veluwsvuurbarneveld.nl.conf:10)
         port 80 namevhost veluwsvuurbarneveld.nl (/etc/apache2/sites-enabled/veluwsvuurbarneveld.nl.conf:14)
*:443                  is a NameVirtualHost
         default server veluwsvuurbarneveld.nl (/etc/apache2/sites-enabled/veluwsvuurbarneveld.nl.conf:1)
         port 443 namevhost veluwsvuurbarneveld.nl (/etc/apache2/sites-enabled/veluwsvuurbarneveld.nl.conf:1)
         port 443 namevhost www.veluwsvuurbarneveld.nl (/etc/apache2/sites-enabled/veluwsvuurbarneveld.nl.conf:18)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

Note que eu quero resolver este problema usando o arquivo de configuração apache2, não via mod_rewrite ( link )

Alguma idéia?

    
por Ruben ten Cate 02.05.2016 / 10:22

2 respostas

0

Obrigado por responder minha pergunta. Depois de usar o seu código (RDA) para o arquivo de configuração apache2, o problema persistiu. Acontece que seu código está completamente correto, mas o problema estava com meus registros DNS.

Esqueci de adicionar registros DNS ao www. domínios com o meu provedor (Oceano Digital). Para que o código acima funcione, as solicitações www e não-www precisam ser direcionadas primeiro para o meu servidor. Depois de adicionar os registros de DNS para www.veluwsvuurbarneveld.nl, o problema foi resolvido.

Meu erro!

    
por 14.05.2016 / 14:22
3

Isso deve funcionar:

<VirtualHost *:80>
     ServerName veluwsvuurbarneveld.nl
     ServerAlias www.veluwsvuurbarneveld.nl
     Redirect permanent / https://veluwsvuurbarneveld.nl/
</VirtualHost>
<VirtualHost *:443>
     ServerName www.veluwsvuurbarneveld.nl

     SSLEngine on
     SSLCertificateFile /etc/ssl/certs/...
     SSLCertificateKeyFile /etc/ssl/private/...
     SSLCACertificateFile /etc/ssl/certs/...

     Redirect permanent / https://veluwsvuurbarneveld.nl/
</VirtualHost>
<VirtualHost *:443>
     ServerName veluwsvuurbarneveld.nl
     DocumentRoot /var/www/

     SSLEngine on
     SSLCertificateFile /etc/ssl/certs/...
     SSLCertificateKeyFile /etc/ssl/private/...
     SSLCACertificateFile /etc/ssl/certs/...
</VirtualHost>

<Directory /var/www/>
    Options +ExecCGI
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
</Directory>
    
por 02.05.2016 / 19:24