2017-10-18 4 views
0

Mon nom de domaine est example.com sans www. Donc, si je mets www.example.com alors ça ne marche pas mais example.com fonctionne. Donc, je apache configuré comme çaApache redirection permanente va automatiquement www

<VirtualHost *:80> 
    ServerName example.com 
    ServerAdmin [email protected] 
    Redirect permanent/https://example.com/ 
</VirtualHost> 

<VirtualHost *:443> 
    ServerName example.com 
    ServerAdmin [email protected] 
    DocumentRoot path/to/project/public 
    SSLEngine on 
    SSLCertificateFile /path/to/keys/xxx.crt 
    SSLCertificateKeyFile /path/to/keys/xxx.key 
    ErrorLog /var/log/apache2/error_log 
    CustomLog /var/log/apache2/access_log combined 
    <Directory "path/to/project/public"> 
     Options FollowSymLinks 
     Require all granted 
    </Directory> 
</VirtualHost> 

Maintenant, comme vous pouvez le voir, je fais une redirection permanente à https comme

Redirect permanent/https://example.com/ 

Mais cette redirection ajouter www avec le nom de domaine par défaut. L'URL redirigée devient donc https://www.example.com/. Évidemment, mon site Web ne peut pas être consulté avec www puisqu'il est enregistré sans www. Alors s'il vous plaît dites-moi comment faire la redirection au travail et aller à https://example.com/ sans le https.

Répondre

0

Ajouter un alias

<VirtualHost *:443> 
    ServerName example.com 
    ServerAlias www.example.com 
</VirtualHost> 

Cela exige que les points de www.yourdomain.com au même endroit que yourdomain.com. Cependant, le www peut ne pas fonctionner avec votre certificat SSL, cela dépend de la spécificité des certificats.

J'autorise généralement les deux sur mes sites car certaines personnes insistent pour inclure le www chaque fois qu'ils entrent une adresse.

documentation d'Apache peut aider avec plus de détails https://httpd.apache.org/docs/2.2/vhosts/name-based.html

En ce qui concerne la question de redirection que vous rencontrez: Assurez-vous que vous ne disposez pas des règles de RewriteEngine qui réécrivent vos demandes non www www . Vous pouvez avoir un fichier .htaccess dans votre répertoire de site qui effectue la réécriture/redirection.

Il pourrait ressembler à:

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^/?(.*) https://www.%{SERVER_NAME}/$1 [R,L] 

Ce qui voudrait dire que vous devez supprimer le www dans la dernière règle Rewrite