[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: .htaccess и mod_rewrite для ЧПУ на сайте
bybad
Здравствуйте, недавно столкнулся с проблемой которую самостоятельно решить, увы, не удаётся. Надеюсь на любую помощь.
Суть проблемы.
Есть стандартный адрес поискового запроса, который выглядит следующим образом.
interesnye-fakty-search.php?fakty=%ED%E0%20%FE%E3%E5

%ED%E0%20%FE%E3%E5 это закодированный запрос который введён в поисковую форму на сайте.
Хотелось бы на выходе получить:
interesnye-fakty/search/%ED%E0%20%FE%E3%E5

или в крайнем случае
interesnye-fakty/search/?fakty=%ED%E0%20%FE%E3%E5

Но проблема ещё в том, что для результатов поиска должна быть реализована постраничная навигация (пейджинг). Т.е. если результатов много, информация должна выводиться постранично.
В идеале, хотелось бы получить что-то вроде этого.
interesnye-fakty/search/%ED%E0%20%FE%E3%E5/page/2

или как во втором случае
interesnye-fakty/search/?fakty=%ED%E0%20%FE%E3%E5/page/2

На данный момент, использую следующую конструкцию:
RewriteCond %{QUERY_STRING} ^fakty=([^/]+?)/page/(\d+?)/?$ [NC]
RewriteRule . interesnye-fakty-search.php?fakty=%1&page=%2

Вроде всё работает, но если я самостоятельно дописываю к номеру страницы какие-нибудь символы ...0%20%FE%E3%E5/page/2ifgs - у меня открывается первая страница, а все последующие выглядят так /page/2ifgs/page/2.

Вопрос, как сделать так, что бы на конце урла были допустимы только цифры? Я пробовал подставить ([0-9]+) вместо (\d+?), но результата все ровно нет. Может быть есть какие-то другие варианты написания этого правила? В общем буду рад любой помощи.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.