我正在研究mod重写代码,目前仍然坚持1问题我不知道为什么问题很开心。 当用户搜索某个url时,这个
/search.php?q=car&limit=150&siz=any
我把它转换成这样的。 .htaccess自动将链接转换为像这样的
/car/150/any
但是,当用户再次搜索网址时,问题会变为类似
的问题/car/150/any?q=books&limit=150&siz=any
我不想这样,请告诉我我该怎么做
这是我的.htaccess代码
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /search\.php\?q=(.*)\&limit=(.*)\&siz=(.*?)\ HTTP
RewriteRule ^ /%2/%3/%4? [R=301,L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /search.php?q=$1&limit=$2&siz=$3 [L]
答案 0 :(得分:0)
正如我在Link conversion in mod rewrite .htaccess之前提到的那样
1.我建议您添加^ search作为标识符以避免冲突
2.query搜索应该是其他参数的结束,首先输入字符串可能发生链接不可读
这里我的新答案根据您的新问题编辑
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^search/([^_]+)/([0-9]+)/(.*).html$ search.php?limit=$1&siz=$2&q=$3 [L]
如果您想在您的网页中调用脚本,请使用链接http://yoursite.com/150/any/Your Search String
进行呼叫不要通过search.php?q=book&limit=150&siz=any
来调用你的变量int上面的搜索字符串