2017-05-05 112 views
1

我在尝试将http://www.example.co.ukhttp://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开始。但我怎么重定向其他以及没有“太多重定向”错误发生?

回答

1

最好是使用两个单独的规则:

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风格文件)。这些文件出了名的错误,很难调试,他们真的放慢了服务器。它们仅作为最后一种选择,用于您无法控制主机配置的情况(阅读:真正便宜的托管服务提供商),或者您拥有依赖编写自己的重写规则的应用程序(这是一个明显的安全噩梦)。

+0

谢谢我给了一个尝试,仍然发生重定向错误。这真的很混乱! – Fifi

+0

请确保你没有看到缓存的结果。 – arkascha

+0

我已经确定,仍然得到相同的结果。 – Fifi