搜索表单参数重写规则

时间:2010-09-19 13:30:48

标签: php .htaccess parameters xampp mod-rewrite

我真的很重视,重写规则的新手 我有一个带有搜索表单和三个imputs的php脚本:title;类别;地区。 用户可以按标题类别或区域进行搜索,因此参数不能按特定顺序进行搜索。有时他们只按类别区域搜索标题......

我的规则

RewriteRule ^list/(.*)/(.*)/(.*)/$ /List.php?category=$1&region=$2&title=$3 [L]
RewriteRule ^list/(.*)/(.*)/$ /List.php?category=$1&region [L]
RewriteRule ^list/(.*)/$ /List.php?category=$1 [L] 
RewriteRule ^list/(.*)/(.*)/$ /List.php?region=$2&title=$3 [L]
RewriteRule ^list/(.*)/(.*)/$ /List.php?category=$12&title=$3 [L]

....等等,直到我完成所有排列。 有没有办法控制变量来实现这个目标:

/list/category/ /list/region/
/list/region/category/
/list/category/region/
/list/region/title/.....

? 提前谢谢

1 个答案:

答案 0 :(得分:0)

为什么不使用

RewriteRule ^List\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /List.php [L]

所以每个请求都被重定向到list.php

然后用

爆炸它
$folder = explode('/',substr($_SERVER['REQUEST_URI'],1));

http://example.com/list/region/title 你得到了

folder[0] = 'list';
folder[1] = 'region';
folder[2] = 'title';