2013-08-21 4 views
1

У меня возникла проблема с тем, как работает поиск на моем сайте, и я не мог найти отличный пример этой проблемы здесь. Когда пользователь отправляет пустой поиск, поиск работает некорректно. Однако, если я помещаю знак плюса в поиск параметров, поиск работает нормально; даже если поиск пуст. Я думал, что я могу использовать htaccess, чтобы исправить эту проблему. Вот что у меня до сих пор:Поиск перенаправления поиска Htaccess с параметрами запроса

RewriteCond %{QUERY_STRING} ^s=$ 
RewriteRule^/?s=+ [L,R=301] 

Это прекрасно работает, если URL, как:

http://mysite.com/?s=

Однако мой поисковые запросы чаще выглядеть следующим образом:

http://mysite.com/?s=&zipcode=XXXXX&submit=Submit

Где XXXXX - почтовый индекс. Есть ли способ разрешить это перенаправление, даже если есть дополнительные параметры за параметром? S =, сохраняя при этом дополнительные параметры (например, я бы не хотел потерять параметр zipcode при перенаправлении)?

Спасибо, что посмотрели!

ответ

1

Try:

RewriteCond %{QUERY_STRING} ^s=($|&.*$) 
RewriteRule^/?s=+%1 [L,R=301] 

Выражение ($|&.*$) создает группировку, которая либо конец строки запроса или & следуют независимо. Эта группировка возвращается с использованием %1 в правиле.

+0

Работает отлично! Большое спасибо! – DEUTSCHWULF

Смежные вопросы