我一直在寻找一些东西,但不幸的是,当涉及到这个问题时,我仍然处于亏损状态,并且与.htaccess的老手很远,我一直无法工作解决我的问题。将特定参数重定向到子文件夹
该平台是Wordpress,但由于我相信这个问题可以用.htaccess解决,我认为这不应该有很大的不同。
我需要重写搜索时,他们是一个更友好的URL结构,不幸的是,只是改变?s =测试到/搜索/测试不会削减它。我需要从搜索中拉出3个参数并将它们用作子文件夹,然后将其余参数附加到搜索结尾。这里有一个例子:
旧的URL:
http://www.XXXXX.com/?s=Ford&z=59105&ci=Billings&st=MT&r=450&m=15000&pmin=1000&pmax=30000&status=Used&submit=Refine
新的URL:
http://www.XXXXX.com/search/Used/MT/Billings/?s=Ford&z=59105&r=450&m=15000&pmin=1000&pmax=30000&submit=Refine
正如你所看到的,参数 “状态”, “ST” 和 “词” 分别被插入到后面的所有其余参数的URL。
所以基本上,我需要将旧的url重定向到新的url,但是新的url会显示对应于旧url的页面。
我已经得到了以下迄今为止写的:(编辑:*更改{QUERY_STRING}为[L,QSA]由爆炸丸*建议)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?search/([^/]+)/([^/]+)/([^/]+)/?s=([^/]+)?$ /index.php?s=$4&ci=$3&st=$2&status=$1 [L,QSA]
而且这样的作品;您可以输入新的网址并显示该页面,但似乎“已用”目录没有正确发布数据。这也只是谜题的一半,因为它不会将旧网址重定向到新网址。它很简单,允许新的URL存在。
非常感谢您的帮助!这一次让我难倒了好几天。现在。
代替使用'%{QUERY_STRING}'当您将'[L]'更改为'[L,QSA]' – 2013-04-26 16:59:36
完成!感谢提示,爆炸! – DEUTSCHWULF 2013-04-26 17:03:54