2017-04-19 65 views
0

我遇到一些.htaccess重定向的问题,只能在某些情况下使用。HTTPS到HTTP的问题htaccess

我的代码是

RewriteEngine On 
RewriteCond %{HTTPS} on 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

这里是我的测试

https://www.example.com结果重定向到http://example.com

https://example.com什么都不做

https://www.example.com/page-name重定向到http://example.com/page-name

https://example.com/page-name什么都不做

这是一个WordPress站点和的.htaccess代码坐在上面的WordPress的代码。我也试了一下下面也和我得到相同的结果

回答

1

它看起来像没有必须的SSL attatched到它,因此

RewriteCond %{HTTPS} on 

规则是无法正常工作的网站。

正因为如此我去了这个方法来修复重定向并使其在所有的,我在问题中提到的测试用例工作。

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

使用此在您的.htaccess代替:

RewriteCond %{HTTPS} =on 
RewriteRule ^(.*)$ http://example.com%{REQUEST_URI} [R,L] 

我假设你想www被迫不显示,因为你没有包括在URL中。如果是这样的话,包括这个额外的条件,迫使它没有显示:

RewriteCond %{HTTP_HOST} ^www\. [NC,OR] 
RewriteCond %{HTTPS} =on 
RewriteRule ^(.*)$ http://example.com%{REQUEST_URI} [R,L] 

测试此之前,请务必清除缓存。

+0

不幸的是这没有工作。我认为网站上缺乏SSL是一个问题。 –