2012-03-29 48 views
0

我試圖對我的網站執行mod重寫。我經常在相當一段時間內做這個重寫。當然,我很高達任務,直到我遇到了新的要求後的.html
實例來創建查詢字符串重寫URL - http://kypseli/admin/catagory.html?parent_id=1
我已經使用這個這個正則表達式。
RewriteRule ^([A-Za-z0-9-/_]+).([html])/?$ index.php?rt=$1&%{QUERY_STRING}
但查詢字符串值(parent_id)未通過。
這是與.html部分完美。
http://kypseli/admin/catagory/?parent_id=1
但我希望它與.html部分,因爲我發現許多和許多相同的技術用法在WWW每個地方。這裏是一個例子
http://www.espncricinfo.com/ci/content/video_audio/559158.html?genre=46
mod在.html之後使用查詢字符串進行重寫

有人可以請幫忙。

回答

3

如果您想要將第一個查詢中的所有查詢字符串元素附加到您的重寫查詢中,則需要將[QSA]標誌添加到rewriteRule,或者如果您更喜歡長描述性標籤,則需要[qsappend]

RewriteRule ^([A-Za-z0-9-/_]+)/?$ index.php?rt=$1 [qsappend] 

現在我不完全理解你對'.html'的意思,但我希望這會足夠。

編輯

您的問題也許是點,應該逃脫\.,它應該是在optionnal的一部分,如果它是optionall這樣:

RewriteRule ^([A-Za-z0-9-/_]+)/?$ index.php?rt=$1 [qsappend] 
RewriteRule ^([A-Za-z0-9-/_]+)\.html?$ index.php?rt=$1 [qsappend] 

或者,如果你只想要一個規則,這應該工作(未經測試)

RewriteRule ^([A-Za-z0-9-/_]+)([\.html|/])?$ index.php?rt=$1 [qsappend] 

而且它不確定你真的需要?在你的rewriteRule中,你甚至可以在沒有查詢字符串的情況下應用它。

+0

非常感謝您的快速回復。是的,我可以通過添加[qsappend]來傳遞所有查詢字符串。但仍然我查詢字符串啓動前使用「.html」時,它不起作用。 Ex - 這是'http:// kypseli/admin/catagory /?parent_id = 1' 但是...... = 1' 希望你這次得到它。 – Ariks 2012-03-29 10:52:52

+0

謝謝@regilero。有用..! Cheerz ...! – Ariks 2012-03-30 09:37:43

+0

謝謝你,工作'RewriteRule ^(mypage.m3u8)?$ content.php?id = $ 1 [qsappend]' – Florida 2016-04-03 21:20:07