Страница 1 из 1

Перенаправление ссылок поиска постов на главную страницу сай

СообщениеДобавлено: Вт мар 28, 2017 3:26 am
opiums
Есть ссылка http://mysite.com/post/vulkan/?search=google-search, необходимо чтобы при наборе текста в поиске происходило перенаправление на главную страницу сайта, и оставалась переменная ?search=динамический+текст, то есть ссылка выглядила вот так: http://mysite.com/?search=google-search. Как возможно это сделать?

СообщениеДобавлено: Вт мар 28, 2017 7:23 am
Emilien
Код: выделить все
RewriteCond %{THE_REQUEST} " /post/vulkan/\?search="
RewriteRule ^ / [R=301,L]

СообщениеДобавлено: Вт мар 28, 2017 2:16 pm
opiums
Emilien писал(а):
Код: выделить все
RewriteCond %{THE_REQUEST} " /post/vulkan/\?search="
RewriteRule ^ / [R=301,L]

Хорошо, но только /post/vulkan/ тоже динамический текст, там может быть любой пост, или даже /page/links/. Структура /текст/текст/, как это можно перенаправить через htaccess?

СообщениеДобавлено: Вт мар 28, 2017 2:34 pm
opiums
RewriteCond %{THE_REQUEST} " /([^/]+)/([^/]+)/\?search="
RewriteRule ^ / [R=301,L]

Вот так работает. Спасибо за помощь!

IIS

СообщениеДобавлено: Вт мар 28, 2017 3:05 pm
opiums
Было бы очень хорошо, если бы мне кто нибудь подсказал как теперь это на IIS перенести ещё...

СообщениеДобавлено: Вт мар 28, 2017 6:27 pm
Emilien
Возможно как-то так:
Код: выделить все
<rule name="Redirect from search">
<match url="^[^/]+/[^/]+/$" />
  <conditions>
      <add input="{QUERY_STRING}" pattern="^search=" />
  </conditions>
<action type="Redirect" url="$Q" />
</rule>

СообщениеДобавлено: Вт мар 28, 2017 11:21 pm
opiums
Emilien писал(а):Возможно как-то так:
Код: выделить все
<rule name="Redirect from search">
<match url="^[^/]+/[^/]+/$" />
  <conditions>
      <add input="{QUERY_STRING}" pattern="^search=" />
  </conditions>
<action type="Redirect" url="$Q" />
</rule>

Эхх, я попробовал, но так почему то не работает

Правильное перенаправиление

СообщениеДобавлено: Пн апр 10, 2017 1:41 pm
opiums
Внимательно покопавшись, я нашел решение:
Код: выделить все
<rule name="Redirect from search" stopProcessing="true">
<match url="^[^/]+/[^/]+/$" />
<conditions>
<add input="{QUERY_STRING}" pattern="^search=" />
</conditions>
<action type="Redirect" url="/" />
</rule>

И внимание: правило должно стоять в самом начале, на 1-м месте, иначе работать не будет