2014-03-26 40 views
1

有沒有辦法重定向到一個特定的頁面,但添加https並保持相對路徑相同?如何使用重寫規則重定向到https,但相對?

RewriteEngine On 
RewriteRule ^user/([^/]+)/settings/?$ https://%{HTTP_HOST}/settings/settings.php?u=$1 [QSA,L] 

上述作品很好,但正如我們開始https://%{HTTP_HOST} ,這使得最終的URL來顯示準確的要求是在某種程度上絕對的:https://www.mydomain.com/settings/settings.php?u=John

我們能不能,而是重定向到一個頁面,添加HTTPS以相對的方式?所以確切的路徑不斷被隱藏,我們只看到一個「文件夾結構」:https://www.mydomain.com/user/John/settings

感謝您的幫助!

回答

1

把戲是做http->https(R = 301)對漂亮的URL規則,然後在內部重寫它。所以像這樣的東西會工作:

RewriteEngine On 

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

RewriteRule ^user/([^/]+)/settings/?$ /settings/settings.php?u=$1 [QSA,L,NC] 
+1

你是個天才!再次感謝 – Lois

+0

非常歡迎。 – anubhava