2016-08-23 102 views
0

我有托管我的HTML网站的Apache服务器。我已经设置了当前在www.mysite.com上启用了SSL。它也将从http://example.com重定向到https://www.example.com使用SSL从非www重定向到www

不过,我有两个问题:

首先,我无法弄清楚如何重定向:

二,www重定向也不会发生我导航到:

下面是我的httpd.conf文件的相关部分。

<VirtualHost *:80> 
    ServerName default 
    ServerAlias * 
    <IfModule mod_rewrite.c> 
    RewriteEngine on 
    # WITH 'www.' 
    RewriteCond %{HTTP_HOST} !^www.(.*) [nocase] 
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [redirect=permanent,nocase,last] 
    </IfModule> 
</VirtualHost> 

<VirtualHost *:443> 
    ServerName www.exampe.com 
    SSLENGINE on 
    SSLCertificateFile /etc/pki/tls/signed/my.crt 
    SSLCertificatekeyFile /etc/pki/tls/signed/my.key.csr 
    SSLCertificateChainFile /etc/pki/tls/signed/my.ca-bundle 
</VirtualHost> 

没有人有任何想法如何修改上面的VirtualHost元素,包括HTTPS重定向(子弹1点),并有网址的启用SSL,非www形式启用重定向(子弹点2)?

回答

0

对于第一种情况下删除IfModule和mod_rewrite的混乱和非SSL虚拟主机补充一点:

Redirect/https://www.example.com/ 

对于第二种情况增加这在SSL虚拟主机:

UseCanonicalName on 
+0

感谢您的指针。是的,那个IFModule很吓人。很高兴看到它不需要。对于第二种情况,我添加了'UseCanonicalName on',并且'https:// example.com /'仍然没有重定向到https:// www.example.com /'任何想法? – Brett