【问题标题】:.htaccess redirect to "https://www".htaccess 重定向到“https://www”
【发布时间】:2012-12-23 15:40:13
【问题描述】:

我正在寻找一个 .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 上提供的各种解决方案,但似乎都没有按预期工作,通常会导致重定向循环。希望有人能比我更了解这一点。

【问题讨论】:

标签: .htaccess redirect ssl web


【解决方案1】:

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

编辑

为了防止重定向循环添加

RewriteCond %{HTTPS} off

在重写规则之前。

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

【讨论】:

  • 这两种解决方案都会导致重定向循环:(
  • @user1961626 在 RewriteRule 之前添加“RewriteCond %{HTTPS} off”。
  • 我已经尝试添加该行,它现在工作得更好,但仍然出现重定向循环。我可能需要清除我的 DNS 缓存,我会在尝试更多操作后报告。
猜你喜欢
  • 2021-11-10
  • 2016-09-01
  • 2018-07-03
  • 1970-01-01
  • 2022-01-11
  • 2019-12-04
  • 1970-01-01
相关资源
最近更新 更多