apache用一些复杂的查询字符串重写

时间:2012-08-22 07:13:15

标签: apache rewrite

我想从

重写一些东西
www.domain.com/index.php?search=product/model&model_name={query string}

www.domain.com/{query string}.html

这是我的重写代码,但不起作用,需要帮助,谢谢。

RewriteRule ^index.php?search=product/model&model_name=(.*)$ index.php/$1.html

1 个答案:

答案 0 :(得分:0)

您无法与RewriteRule中的查询字符串匹配,您需要使用RewriteCond并与%{QUERY_STRING} var匹配:

RewriteCond %{QUERY_STRING} ^search=product/model&model_name=(.*)$
RewriteRule ^/?index.php$ index.php/%1.html [L]

这样,当有人请求www.domain.com/index.php?search=product/model&model_name={query string}时,他们会在/index.php/{query string}.html处获得内容,而他们在地址栏中的浏览器网址不变(仍然是带有查询字符串的网址)。