|
|
|
|
я принимаю GET параметр так $page = intval($_GET['page']-1);
URL такой http://site.com/poisk_firm_po_alfavitu/B/6
ЧПУ таков: RewriteRule ^poisk_firm_po_alfavitu/([^/]*)(/([0-9]+))?$ firms.php?ch=$1&page=$2
как видно, последний параметр в URL есть page
при таком раскладе все равно не получаю echo $_GET['page']; на странице
|
| |
|
|
|
|
|
|
|
для: OLi
(02.12.2011 в 22:24)
| | А в логах что-нибудь интересное есть (может перехватывается другим правилом)? Помоему должно быть $3, а не $2 (но в любом случае должно выводиться). | |
|
|
|
|
|
|
|
для: cheops
(02.12.2011 в 22:26)
| | В логах ничего не записано..
Есть еще одно правило вида:
RewriteRule ^poisk_firm_po_alfavitu/([^/]*)/? firms.php?ch=$1 [L,E]
RewriteRule ^poisk_firm_po_alfavitu/([^/]*)(/([0-9]+))?$ firms.php?ch=$1&page=$2
|
| |
|
|
|
|
|
|
|
для: OLi
(02.12.2011 в 22:34)
| | А логи mod_rewrie включены (обычно там на каждый чих, довольно много информации пишется)? | |
|
|
|
|
|
|
|
для: cheops
(02.12.2011 в 22:51)
| | А как их включить, этого я не знаю... | |
|
|
|
|
|
|
|
для: OLi
(02.12.2011 в 22:53)
| | В виртуальный хост нужно добавить следующие строки
RewriteLog "logs/localhost-rewrite.log"
RewriteLogLevel 3
|
| |
|
|
|
|
|
|
|
для: OLi
(02.12.2011 в 22:34)
| | Второе правило перехватывается первым. Нужно либо поменять их местами, либо исправить первое так:
RewriteRule ^poisk_firm_po_alfavitu/([^/]*)/?$ firms.php?ch=$1 [L,E]
|
А во втором все-таки:
RewriteRule ^poisk_firm_po_alfavitu/([^/]*)(/([0-9]+))?$ firms.php?ch=$1&page=$3
|
И зачем во втором правиле (/([0-9]+))? скобки два раза? Если поменяете местами правила, то будет первое вторым перехватываться.
И зачем в первом правиле E без параметров? В этом ваще смысла нет.
Короче самое правильное будет так, я думаю:
RewriteRule ^poisk_firm_po_alfavitu/([^/]*)/([0-9]+)/?$ firms.php?ch=$1&page=$2 [L]
RewriteRule ^poisk_firm_po_alfavitu/([^/]*)/?$ firms.php?ch=$1 [L]
|
| |
|
|
|
|
|
|
|
для: Sfinks
(02.12.2011 в 23:35)
| | Спасибо за ответы, последнее сработало.. | |
|
|
|