【问题标题】:Force SSL .htaccess Only For WWW not any other subdomain强制 SSL .htaccess 仅适用于 WWW 而不是任何其他子域
【发布时间】:2014-03-31 14:29:27
【问题描述】:

我一直在使用许多通过 .htaccess 强制 SSL 的规则,但我找不到只强制“www”而不是任何其他子域的规则。

例如:

www.website.com - 好的

blog.website.com - 不行

任何帮助将不胜感激。

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite ssl


    【解决方案1】:

    你可以使用:

    RewriteEngine On
    
    RewriteCond %{HTTPS} off
    RewriteCond {HTTP_HOST} ^www\.website\.com$ [NC]
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
    
    RewriteCond %{HTTPS} on
    RewriteCond {HTTP_HOST} !^www\.website\.com$ [NC]
    RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
    

    【讨论】:

    • 看起来这并没有强制 SSL。理想的解决方案是强制使用 ssl,如果不是 www,则强制使用 http
    • 立即查看更新的代码并确保它是您的 .htaccess 中的第一条规则。希望您没有运行任何 CMS/PHP 框架。
    • 在这种情况下,它必须是第一条规则本身。
    猜你喜欢
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多