Mod_rewrite搜索表单结果

时间:2015-04-14 13:03:50

标签: php apache .htaccess

我有一个使用URL友好的搜索表单,但是在搜索结果中因为URL没有从URL获取get值,上面我留下了URL的链接和.htaccess的代码,也许有人可以想象出了什么错误/问题。

http://www.domain.com/en/jobs.php?Keywords=&Location=2&Category=

RewriteRule ^(es|en|pt|fr|pl|de|ro|it)/jobs.php?Keywords=(.*)&Location=(.*)&Category=(.*)$ jobs.php?lang=$1&Keywords=$2&Location=$3&Category=$4

1 个答案:

答案 0 :(得分:-1)

只要查询字符串中的参数始终采用相同的顺序,这就应该有效:

RewriteEngine On
RewriteCond %{QUERY_STRING} Keywords=(.*)&Location=(.*)&Category=(.*)$ [NC]
RewriteRule ^(es|en|pt|fr|pl|de|ro|it)/jobs.php jobs.php?lang=$1&Keywords=%1&Location=%2&Category=%3 [L]

您需要专门查看查询字符串并在那里应用正则表达式捕获组。然后,您可以使用后引用字符%

在重写中使用它们