2009-08-05 157 views
14

好吧,我很新的在這個,我真的很感謝一些幫助,謝謝!htaccess重寫查詢字符串

如何正確地在.htaccess中重寫?

所以我有一個查詢字符串在我的網址:

/?url=contact 

所有我想要做的是去除查詢字符串

/contact 

幫助?我搜索谷歌,我現在正在學習語法,但事實依然存在......我不知道該怎麼做。感謝所有

+1

應重新打開。這是與編程有關的問題(儘管它沒有顯示很多努力),我希望看到比這裏更好的答案。 – Andrew 2017-01-05 18:15:45

回答

22

這是我的解決方案:

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

15
RewriteCond %{QUERY_STRING} url=(.*) 
RewriteRule index.html %1 

(或什麼,如果它不是的index.html,index.php文件,等等)

您需要捕獲的查詢字符串,這是不通過重寫規則看着正常,並使用%1回參考,並不$ 1,你在一個重寫規則

24

捕獲會嘗試這樣的:

RewriteEngine On 
RewriteRule ^(.*)$ /index.php?url=$1 [L] 

要在您的網站的用戶,他們會看到並導航到這一點:

http://example.com/contact 

但真正的頁面會是這樣的:

http://example.com/index.php?url=contact 

該位,[L],告訴這是重寫規則的最後一行,並停止服務器。