Правило перезаписи параметров формы поиска - PullRequest
0 голосов
/ 19 сентября 2010

Я действительно, действительно новичок в правилах переписывания ..
У меня есть PHP-скрипт с формой поиска и с тремя импутами: заголовок; категория; область, край . Пользователь может выполнять поиск по категории заголовка или области, поэтому параметры не могут быть в определенном порядке. Иногда они выполняют поиск по заголовку только по категории региона ...

мои правила

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 голосов
/ 22 сентября 2010

почему бы не использовать

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';
...