2016-12-16 22 views
0

我想強制非https只在網站上的一個文件夾,但其餘所有應該是https。這裏是我的.htaccess代碼:強制http到一個填充靜止力https

RewriteEngine On 

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

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

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^([0-9a-zA-Z].+)$ /page.php?title=$1 [L] 

ErrorDocument 404 404.php 

回答

0

我猜你的問題是,即使報告文件夾被強制爲https。是對的嗎?

這將是,因爲你先把這條規則。一般規則順序應該是:最具體的第一個,最通用的最後一個。所以你的一般的https執行規則應該是最後的。或者至少它必須在你的http執行規則之後。

此外,你只強制/報告/ http。該目錄中的所有內容都將是https。我認爲你應該改變它

RewriteCond %{REQUEST_URI} ^/reports/(.*)$ [NC] 
RewriteRule ^(.*)$ http://yourdomain.com/$1 [R=301,L] 

如果我看到它正確,你強制一切不以www開頭。將該規則放在reports-http規則之後並將其更改爲https。這將爲您節省一個重定向。

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

比你的https執行規則和重寫page.php如果不存在的文件或目錄。

+0

一切正常,但當我打開報告其重定向到非HTTPS是好的,但它並沒有打開頁面其說:頁面不正確重定向 –

+0

請檢查螢火蟲或鉻開發工具(或任何你是使用)哪些重定向正在發生。也許在http強制執行後會有另一個重定向運行。 – Seb

+0

我有螢火蟲,但如何檢查使用firbug重定向錯誤?我不知道如何。對不起 –

相關問題