【问题标题】:Redirecting to https for any URI为任何 URI 重定向到 https
【发布时间】:2016-12-25 01:06:01
【问题描述】:

在我的 .htaccess 文件中,我有以下内容。

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301]

这工作正常,直到有人转到 http://www.example.com/test,因为这不会强制重定向到 https。

有更好的方法吗?

【问题讨论】:

  • 其实你的规则没有错。你有缓存的东西吗?第一个条件处理http 的任何内容,所以它也会得到那个。您的规则实际上适用于所有情况。你甚至可以测试规则here

标签: apache .htaccess mod-rewrite https


【解决方案1】:

是的,将最后两行更改为:

RewriteCond %{HTTP_HOST} !^(www\.example\.com|)$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 2013-02-06
    • 2013-04-10
    相关资源
    最近更新 更多