Apache将https非www重定向到https www(Ubuntu)

时间:2018-05-19 22:12:12

标签: apache

我知道这样的问题已多次发布。但我面临一个独特的问题,并寻求帮助。 我想将所有内容重定向到https://www.example.com

我在Ubuntu 16上配置了LAMP并安装了Lets Encrypt SSL。我还配置了重定向,以下是状态:

  1. http非www和http www正在被正确地重定向到https www

  2. https非www和https www都被反向重定向到https非www(而不是预定的https www)

  3. 以下是我的apache配置:

    1。 000-默认勒ssl.conf中

    <IfModule mod_ssl.c>
    <VirtualHost *:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    ServerName www.example.com
    Include /etc/letsencrypt/options-ssl-apache.conf
    ServerAlias example.com
    SSLCertificateFile /etc/letsencrypt/live/getcreed.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/getcreed.com/privkey.pem
    
    </VirtualHost>
    </IfModule>
    

    2。 000-default.conf

        <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
    
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    
        RewriteEngine On
        RewriteCond %{HTTPS} off [OR]
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
        RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]
    
    
        </VirtualHost>
    

    请让我知道我做错了什么。任何帮助都会非常有用。

1 个答案:

答案 0 :(得分:0)

这会使所有重定向到https://www。我正在使用我的网站。

RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?itechplanetpc\.com
RewriteRule ^(.*)$ https://www.itechplanetpc.com/$1 [R=301,L]