2016-06-11 123 views
2

我們的HTTPS網站在Google上被編入索引。我們需要將此重定向到HTTP。我們用下面的代碼:強制https轉到http重定向,除了Wordpress/wp-admin目錄

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/
RewriteCond %{SERVER_PORT} ^443$ [OR] 
RewriteCond %{HTTPS} =on 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 
</IfModule> 

https重定向到http,並能正常工作。

不過,我要排除所有的WordPress管理從httpshttp重定向,因爲我想繼續WordPress管理過https工作,所以我說:

RewriteCond %{REQUEST_URI} !^wp-admin 

採取的.htaccess代碼於:

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/
RewriteCond %{SERVER_PORT} ^443$ [OR] 
RewriteCond %{HTTPS} =on 
RewriteCond %{REQUEST_URI} !^wp-admin 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 
</IfModule> 

不幸的是這不工作,並試圖加載/wp-admin超過https導致了過多的重定向和WordPress的儀表板不加載。

www.example.com重定向您太​​多次了。

將不包括/ wp-admin從httpshttp重定向一些幫助。

+1

是將https流量重定向到http是一個好主意 - 前者用戶期望保密通信,但他們得到保證通信 –

+0

同意,但是一個WordPress插件'Slider Revolution'沒有在'https'上顯示幻燈片,因此需要恢復回到'http',就像滑塊一樣這是主頁設計的關鍵部分。 – Steve

+3

爲什麼不修復插件? –

回答

3

嘗試以下,這應該強制所有內容HTTP除目錄可溼性粉劑管理員:

RewriteEngine On 

RewriteCond %{HTTP:X-Forwarded-SSL} !on 
RewriteCond %{REQUEST_URI} ^\/(wp-admin) 
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R=301] 

RewriteCond %{HTTP:X-Forwarded-SSL} =on 
RewriteCond %{REQUEST_URI} !^\/(wp-admin) 
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=301] 

如果你有以上的問題,你也可以試試這個:

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} ^/wp-admin 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^/wp-admin 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] 
+0

美麗。謝謝Thick Guru先生。 (第一個選項工作) – Steve

+0

很高興我可以幫助:) – Lag