【发布时间】:2018-11-09 07:54:46
【问题描述】:
我有一个网站,https://example.com、http://example.com、https://www.example.com 和 https://www.example.com 工作正常。
现在我希望无论您键入哪个,它都会重定向到https://www.example.com。我在我的 .htaccess 中使用下面的代码(并尝试了更多),但是在浏览器中进行重定向后,页面没有加载,给出错误“重定向太多”。我当然试过删除缓存。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
【问题讨论】:
-
您使用的是 cloudflare 还是类似的东西?
-
我正在使用 Heroku
-
Heroku 在你的应用程序前面有自己的路由层,所以你不会总是知道它是否通过 SSL 进来。这个问题有几个特定于 Heroku 的答案stackoverflow.com/questions/34862065/…
-
@JonLin 这有点误导。您将始终知道它是否通过 SSL 传入。重要的不是端口号。
X-Forwarded-Proto告诉您,它应该始终存在。
标签: .htaccess mod-rewrite https