2016-08-02 49 views
0

我使用此代碼對重定向的所有鏈接httpswww重定向到HTTPS,除了一個鏈接

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

RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

但我想一個環節不重定向到https

例子:

http://myname.com --> https://www.myname.com 
http://myname.com/file.php -- > https://www.myanem.com/file.php 
http://myname.com/except.php -- > http://www.myanem.com/except.php 

在頂部的例子中,我想except.php重定向到https

+1

需要注意的是,如果你不重定向瀏覽器的所有鏈接到https,則不能使用HSTS,對MITM和SSLstrip唯一的保護。 – Tom

+0

@Mohammad關於'https:// myname.com/except.php',你希望它保留'https'還是重寫回'http'? –

+0

@DusanBajic,我想回到http – Mohammad

回答

0

這應該這樣做:

RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} !^/except\.php$ 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} ^/except\.php$ 
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule^%{REQUEST_SCHEME}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

Thx,但不適合我 – Mohammad

+0

如果您在地址欄中輸入「http:// myname.com/except.php」,是否會發生任何事情? –

+0

錯誤未加載頁面,並重新加載到https,再次重新加載ro http永遠 – Mohammad

相關問題