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