Суть проблемы.
Есть стандартный адрес поискового запроса, который выглядит следующим образом.
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+?), но результата все ровно нет. Может быть есть какие-то другие варианты написания этого правила? В общем буду рад любой помощи.