搜索表格Htaccess重写

时间:2015-09-28 10:16:49

标签: php regex .htaccess mod-rewrite

我有一个运行不正常的htaccess规则,看起来它几乎没有假设所有这些,如果我只放一个规则它工作正常,问题是当我插入所有这些时,这里是我上面的代码

# Search Form Url Result
#search by category
RewriteRule ^jobs/([^/\.]+)$ jobs.php?Category=$1

#search by location
RewriteRule ^jobs/([^/\.]+)$ jobs.php?Location=$1

#search by category and location
RewriteRule ^jobs/([^/\.]+)/([^/\.]+)$ jobs.php?Category=$1&Location=$2

基本上每条规则适用于每种情况,例如,如果用户仅搜索类别或位置,甚至搜索类别和位置。

1 个答案:

答案 0 :(得分:0)

Rule1Rule2使用相同的模式,即^jobs/([^/\.]+)$,因此只有第一种模式可以使用。

您必须在/jobs/之后添加适当的标识符,以区分类别和位置URI。

您可以考虑:

# Search Form Url Result

#search by category
RewriteRule ^jobs/c/([^/.]+)/?$ jobs.php?Category=$1 [L,QSA]

#search by location
RewriteRule ^jobs/l/([^/.]+)/?$ jobs.php?Location=$1 [L,QSA]

#search by category and location
RewriteRule ^jobs/([^/.]+)/([^/.]+)/?$ jobs.php?Category=$1&Location=$2 [L,QSA]