2
我已經經歷了關於mod_rewrite的每一個教程,但我無法弄清楚這一點。重寫搜索結果
我想將www.domain.com/?s=query
的搜索網址改寫爲www.domain.com/search/query
。 到目前爲止,我成功地實現這個使用這個法則:
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(#[^?&\ ]*)?\?([^&\ ]*&)?s=([^&\ ]+)[^\ ]*\ HTTP/
RewriteRule ^$ http://www.domain.com/search/%3? [R=301,L]
的問題是,一些查詢會導致有幾個搜索結果頁面的女巫都可以訪問通過www.domain.com/?s=query&nggpage=n
(其中n是優於2)。
在這種情況下,我想重寫一下,並最終得到如下網址:www.domain.com/search/query/nggpage-n
。
不太確定該如何實現。我正在尋求幫助的人。
恕我直言,你可以嘗試分裂問題像處理'nggpage'分開並單獨另一種情況。 – g13n 2012-04-18 06:11:06
當你說你想將'www.domain.com/?s = query'重寫爲'www.domain.com/search/query'時,你的意思是如果有人鍵入第一個你希望瀏覽器窗口重定向到第二個,或者你想讓人們輸入第二個,並將其重寫爲第一個? – baynezy 2012-04-18 06:11:25
當有人輸入www.domain.com/?s=query時,他會被重定向到www.domain.com/search/query女巫的內容相同。給定的規則已經做到了,但是當涉及到處理第二個變量(nggpage)時,那是困難的部分。是的@ g13n我已經嘗試過但沒有成功。 – Ace 2012-04-18 06:45:26