2013-03-06 3 views
1

Глядя на некоторые помочь с некоторыми пагинацией и modrewrite хорошо, так что я получил URL, который выглядит, как этотHtaccess пагинация modrewrite

www.website.com/page.php?phone=111-393-4949

и я переписывать его выглядеть следующим образом. ..

www.website.com/701-625-5444.php

с этим

RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+) page.php?number=$1-$2-$3 [L,QSA] 

У меня возникли проблемы с добавлением моей разбивки на страницы в mod rewrite. Я действительно не слишком уверен, что на все, что мне нужно сделать здесь, но это то, что я придумал

RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)/([^/]*) page.php?number=$1&page=$2 [L,QSA] 

, который должен вывести ..

www.website.com/494-949-9494/1.php

, что это такое, что Я поступаю неправильно?

ответ

1

Каждая пара () является группой захвата. Поскольку у вас уже есть три группы () для номера телефона, добавленный вами номер ([^/]*) будет снят в $4.

RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)/([^/]*)$ page.php?number=$1-$2-$3&page=$4 [L,QSA] 

Если нумерация страниц не является обязательным, добавьте дополнительный без захвата группы (?:)? вокруг конечного участка:

RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)(?:/([^/]*))?$ page.php?number=$1-$2-$3&page=$4 [L,QSA] 

Замечу, что ваш RewriteRule не насильно включать .php, как в вашем примере www.website.com/701-625-5444.php , Это будет выглядеть так:

RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)\.php$ page.php?number=$1-$2-$3 [L,QSA] 
# Or... 
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)(?:/([^/]*))?\.php$ page.php?number=$1-$2-$3&page=$4 [L,QSA] 
Смежные вопросы