使用RewriteRule重定向表单获取请求

时间:2010-03-06 22:57:26

标签: apache .htaccess mod-rewrite

好的,我有一个网站,用户可以将搜索查询放入使用GET发送数据的表单中。

发送后,网址如下:/recipes.php?query=taco&ingredients=chili
我想将其重写为:/recipes-taco-Ichili.html

所以我将以下行添加到我的.htaccess文件中:

RewriteRule recipes\.php\?query=(.*)&ingredients=(.*)$ /recipes-$1-I$2.html [R]

我的印象是,这会将用户重定向到屏蔽页面,但网址不会更改。

我有RewriteEngine on,一旦网址形式为
/recipes-something-Isomethingelse.html它工作正常。

我过去使用过php完成过,但是如果我能用.htaccess做的话似乎会很好。

1 个答案:

答案 0 :(得分:0)

您无法在RewriteRule中获取查询字符串:

RewriteCond %{QUERY_STRING} ^query=([^&]*)&ingredients=(.*)$
RewriteRule ^recipes.php$ /recipes-%1-I%2.html [R]