2014-01-10 15 views
0

我只希望我的Wordpress網站上的一組特定頁面通過https 。所有其他頁面應該重定向回http://。使用.htaccess,允許通過HTTPS提供特定的一組Wordpress頁面://,並將所有其他頁面重定向回HTTP://

使用下面的.htaccess重寫規則,我可以成功地將不需要的https://請求重定向到http://,但是當我嘗試訪問我的一個允許的https://頁面時,它會重定向回到我的博客主頁因爲某些原因。

https://開頭mywebsite.com/blog/random-page >>>>的http:// mywebsite.com/blog/random-page/(良好)

https://開頭mywebsite.com/ blog/ssl-page >>>> http:// mywebsite.com/blog/(不好,這個URL根本不應該重定向。)

我不知道發生了什麼事,我認爲有我的RewriteCond的衝突? 任何幫助,將不勝感激!謝謝

我的.htaccess文件

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^/blog/ssl-page/ [NC] 
RewriteCond %{REQUEST_URI} !^/blog/another-ssl-page/$ [NC] 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
</IfModule> 


# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /blog/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 
</IfModule> 
+0

爲什麼?它將會更簡單(並且更安全,因爲您的會話不會通過HTTP和HTTPS提供服務)通過SSL爲整個博客提供服務。 – Jon

回答

0

對於具體的例子,問題就在這裏:

RewriteCond %{REQUEST_URI} !^/blog/ssl-page/ [NC] 

幽州/blog/ssl-page重定向到HTTP。這是因爲你的第一個RewriteCond不匹配 - 它預計會有一個斜線。

你可以試試這個:

RewriteCond %{REQUEST_URI} !^/blog/ssl-page/?$ [NC] 

使尾部斜槓可選。

相關問題