Редирект переменных в htaccess. Как правильно настроить?

SeoPitcher SeoPitcher   11.09.2017 14:51   1 115  
Добрый день проблема с редиректом. Раньше поисковый запрос на сайте выглядел вот так
http://сайт/search.php?search=запрос
После редизайна стал выглядеть так http://сайт/search?s=запрос

Суть проблемы: Нужно перенаправить трафик с старых страниц на новыеВ htaccess прописал вот так:
RewriteCond %{QUERY_STRING} (^|&)search\=(.*)
RewriteRule ^search\.php$ /search?s=%{QUERY_STRING}$1 [L,R=301]Работает не совсем корректно, в строку поиска передает search=запрос добавляя при этом лишний search=

Если прописать вот так:
RewriteCond %{QUERY_STRING} (^|&)search\=(.*)
RewriteRule ^search\.php$ /search?s=$1 [L,R=301]В таком случае редиректит на пустую страницу поиска.

Как настроить правильно, как передать только саму переменную =(

Ответы на вопрос (4) Написать ответ
SeoPitcher SeoPitcher   11.09.2017 16:47
Рабочий вариант =)
RewriteCond %{QUERY_STRING} (^|\&)search\=([^&]+)
RewriteRule ^search\.php$ /search?s=%2 [L,R=301]
0
Решение
sansan sansan   11.09.2017 15:06
Пропишите проще, ни-фига не понятна проблема. Н-фиг вообще нужен поиск, есть google (или яндекс, по-крайности).
0
MainBah1 MainBah1   11.09.2017 15:34
Совсем не понятно, откуда берется трафик на старых страницах поисковой выдачи (они что где-то хранятся и индексируются)? Ну а если по существу...
RewriteRule ^search\.php\?search$ /search?s=%{QUERY_STRING}$1 [L,R=301] - вроде как должно работать
0
MainBah1 MainBah1   11.09.2017 16:34
сори, туплю - не будет это работать и htacces тут не поможет
0

Войдите, чтобы написать ответ
Вход Регистрация