.htaccess重定向错误
问题描述:
我在尝试将http://www.example.co.uk
和http://example.co.uk
重定向到 https://example.co.uk
。.htaccess重定向错误
在.htaccess
文件我有:
RewriteEngine on
RewriteBase/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
这重定向一个以www开始。但我怎么重定向其他以及没有“太多重定向”错误发生?
答
最好是使用两个单独的规则:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule^https://mysite.co.uk%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule^https://mysite.co.uk%{REQUEST_URI} [L,R=301]
而且一般提示:你应该总是喜欢在http服务器内这些规则(虚拟)主机配置,而不是使用动态配置文件(.htaccess
风格文件)。这些文件出了名的错误,很难调试,他们真的放慢了服务器。它们仅作为最后一种选择,用于您无法控制主机配置的情况(阅读:真正便宜的托管服务提供商),或者您拥有依赖编写自己的重写规则的应用程序(这是一个明显的安全噩梦)。
谢谢我给了一个尝试,仍然发生重定向错误。这真的很混乱! – Fifi
请确保你没有看到缓存的结果。 – arkascha
我已经确定,仍然得到相同的结果。 – Fifi