.htaccess modrewrite URL

时间:2014-05-26 05:46:09

标签: php .htaccess mod-rewrite url-rewriting

我正在研究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]

1 个答案:

答案 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上面的搜索字符串