我真的很重视,重写规则的新手 我有一个带有搜索表单和三个imputs的php脚本:title;类别;地区。 用户可以按标题类别或区域进行搜索,因此参数不能按特定顺序进行搜索。有时他们只按类别区域搜索标题......
我的规则
RewriteRule ^list/(.*)/(.*)/(.*)/$ /List.php?category=$1®ion=$2&title=$3 [L]
RewriteRule ^list/(.*)/(.*)/$ /List.php?category=$1®ion [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/.....
? 提前谢谢
答案 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';