2016-03-14 235 views
0

我們在Wordpress主頁上遇到重定向循環,我不知道它來自哪裏,我們將URL切換爲http://www爲https://。Apache(htaccess)重定向循環http https

這裏是htaccess文件:

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^www\.(.*) 
RewriteRule ^.*$ https://%1/$1 [R=301,L] 

RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

http://scrybs.com是重定向到http://www.scrybs.comhttp://www.scrybs.com導致重定向循環...

我試圖關閉所有插件,刪除htaccess文件,這些都不工作。

非常感謝。

+2

我認爲問題來自第一條規則。將'^。* $'改爲'^(。*)$',這樣'$ 1'實際上包含了一些東西。 –

+0

@MikeRockett這個問題發生在htaccess調用之前... – scrybs

回答

0

不要將RewriteRules用於HTTP到HTTPS的重定向。將其更改爲使HTTP(端口80)虛擬主機重定向到HTTPS(端口443)虛擬主機,並將所有配置置於HTTPS(端口443)配置中。

<VirtualHost *:80> 
    ServerName www.example.com 
    Redirect "/" "https://www.example.com/" 
</VirtualHost > 

<VirtualHost *:443> 
    ServerName www.example.com 
    # ... SSL configuration goes here 
</VirtualHost > 

編號:https://httpd.apache.org/docs/2.4/rewrite/avoid.html

然後,刪除這些行:

RewriteCond %{HTTP_HOST} ^www\.(.*) 
RewriteRule ^.*$ https://%1/$1 [R=301,L] 

RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

您可能要恢復WWW配置,但沒有HTTPS更新。

+0

我是否必須在我的.htacess文件或服務器端添加這些行?看起來我的問題出現在調用.htaccess文件之前.... – scrybs