2016-03-05 77 views
1

我試圖創建一個規則,將所有通信從HTTP重定向到HTTPS,除了從一個特定的目錄。在這種情況下,命名爲「樣本」,如下所示:RewriteRule Apache

example.com -> https://example.com 
example.com/index.html -> https://example.com/index.html 
example.com/sample/ -> example.com/sample/ 

我已經tryed修改公共代碼重定向到HTTPS,但我可以讓它正常工作,這裏是我的代碼:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (www.)?%{HTTP_HOST}/?(?!/sample) https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 

通過正則表達式我試圖忽略「示例」目錄,但它既不重定向「index.html」頁面。 什麼是缺失或如何正確地做到這一點?

Thanksfully,五

回答

0

您可以使用此規則爲你的第一個規則:

RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteCond %{THE_REQUEST} !\s/+sample [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=302,NE,L] 
+1

你是天才!謝謝。 –