【问题标题】:redirect www and non-www to https www .htaccess not working将 www 和非 www 重定向到 https www .htaccess 不起作用
【发布时间】:2017-07-30 15:23:59
【问题描述】:

请不要说,它的重复我已经通过所有线程但没有一个对我有用。

我已安装 SSL 并希望将 www 和非 www 重定向到 https://www

我有这个代码 .htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^ven7\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.ven7.com/$1 [R,L]

这工作正常,将 domain.com 重定向到 https://www.ven7.com 但是如果我点击 www.ven7.com,页面加载正常但它使用 http,所以我将脚本更改为..

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^ven7\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.ven7\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.ven7.com/$1 [R,L]

有了这个代码重定向工作,但页面没有加载,给出了一些错误,太多的重定向。

我该如何解决这个问题?并希望永久重定向。

谢谢

【问题讨论】:

    标签: apache .htaccess redirect mod-rewrite


    【解决方案1】:

    你可以使用:

    RewriteCond %{HTTP_HOST} !^www\. [OR,NC]
    RewriteCond %{HTTPS} off 
    RewriteRule ^ https://www.ven7.com%{REQUEST_URI} [NE,R=301,L]
    

    如果需要测试域名,添加第一行:

    RewriteCond %{HTTP_HOST} (?:^|\.)ven7\.com$ [NC]
    

    并使用:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} (?:^|\.)ven7\.com$ [NC]
    RewriteCond %{HTTP_HOST} !^www\. [OR,NC]
    RewriteCond %{SERVER_PORT} 80 
    RewriteRule ^ https://www.ven7.com%{REQUEST_URI} [NE,R=301,L]
    

    【讨论】:

    • 您好 Croises,感谢您的回复,正在重定向但页面显示错误,请您打开 www.ven7.com 看看
    • @John https 重定向到自身:重定向太多。你有没有重新加载你的服务器(假设是 apache 或类似的)
    • 是的 Croises,我只使用这 5 行,顺便说一句,它不是 wordpress,它的静态网站包含 5 个 html 页面。
    • 我尝试使用 SERVER_PORT,这可能是您的 SSL 实施的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2014-12-16
    • 2017-01-11
    • 1970-01-01
    相关资源
    最近更新 更多