1

我正在寻找一个 .htaccess 配置,它将所有请求重定向到我的站点到https://www.

那么用户是否访问:

www.example.com
http://example.com
http://www.example.com
https://example.com

他们总是会在:

https://www.example.com

这是我目前在 .htaccess 文件中使用的内容,但是如果用户访问它,它不会重定向:

www.example.com

这是我当前的文件内容:

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

我已经尝试过 Stack Overflow 上提供的各种解决方案,但它们似乎都没有按预期工作,通常会导致重定向循环。希望有人会比我更好地理解这一点。

4

1 回答 1

1

您的正则表达式^example\.com不匹配www.example.com。你可能想要类似(^|\.)example\.comor的东西(^|\.)example\.com($|:)

编辑

为了防止重定向循环添加

RewriteCond %{HTTPS} off

在重写规则之前。

另请参阅http://wiki.apache.org/httpd/RewriteHTTPToHTTPS(他们使用!=on而不是off)和http://wiki.apache.org/httpd/RedirectSSL

于 2013-01-09T14:52:04.737 回答