我知道有很多類似的問題,但我花了2天以上沒有成功研究它,所以你是我最後的希望)切換HTTP來使用mod_rewrite
HTTPS我寫了下面的重寫規則:
RewriteCond %{HTTPS} off [NC]
RewriteCond %{REQUEST_URI} ^((/member/settings)?/orders/?)$ [NC]
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R=301]
RewriteRule \.(gif|jpe?g|png|css|js|eot|woff|ttf|svg)$ - [NC,L]
RewriteCond %{HTTPS} on [NC]
RewriteCond %{REQUEST_URI} !^((/member/settings)?/orders/?)$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [NC,QSA,L]
我希望網址example.com/orders/
和example.com/member/settings/orders/
總是重定向到HTTPS,其他所有網址都強制使用HTTP。所有查詢也應轉發至index.php
。 而且,顯然,所有媒體文件都應該保持與請求相同的協議。
當我要求http://example.com/orders/
首先重定向到https://example.com/orders/
,但第二次重定向到http://example.com/index.php?/orders/
。實際上預計什麼,但問題是'index.php'出現在瀏覽器的地址欄中。
問題是如何擺脫瀏覽器地址欄中的'index.php'?
任何幫助將不勝感激。
感謝您的回覆。我需要在index.php中執行所有請求,這就是爲什麼我需要這個規則。問題是'index.php'出現在瀏覽器的地址欄中。 – 2013-02-19 15:42:50