Обнаружьте супер поиск в URL

Есть ли способ обнаружить, если URL содержит Супер Поисковый запрос?

У меня есть шаблон, который показывает супер результаты поиска, но аналитика также разоблачает связку несуществующего показа URL в той же самой группе шаблона, и я хотел бы иметь возможность обнаружить, если URL содержит поисковый запрос и если это не делает, перенаправление к 404 шаблонам.

Примеры:

site.com/tours/made-up – bad
site.com/tours/search&keywords=island – good

Я также испытываю затруднения из-за URL, которые содержат супер поисковые запросы и gclid querystrings и нумерация страниц. Есть конюшня мест, которые очень похожи. На одной территории это хорошо работает:



  RewriteEngine On
  RewriteBase /

# Redirect index.php Requests
  RewriteCond %{THE_REQUEST} ^[^/]*/index\.php [NC]
  RewriteCond %{THE_REQUEST} ^GET
  RewriteRule ^index\.php(.+) $1 [R=301,L]

# Force the www
  RewriteCond %{HTTP_HOST} !^www\.
  RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

# HTTPS Redirects
  RewriteCond %{SERVER_PORT} 80
  RewriteRule ^(.*)$ https://www.site.com/$1 [R=301,L]

# Add a trailing slash to paths without an extension
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
  RewriteRule ^(.*)$ /$1/ [R=301,L]

# Standard ExpressionEngine Rewrite
  RewriteCond %{REQUEST_URI} ^/
  RewriteCond %{QUERY_STRING} ^(gclid=.*)
  RewriteRule ^(.+) /index.php?/ [L,PT]
  RewriteCond $1 !\.(css|js|gif|jpe?g|png) [NC]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond  $1 !^(themes|index\.php|admin\.php|favicon\.ico|index\.php|path\.php|php\.ini) [NC]
  RewriteRule ^(.*)$ /index.php?/$1 [L]


т.е., когда вы нажимаете на ссылку нумерации страниц, она удаляет gclid querystring и добавляет PXX к URL, и вы получаете обновленные результаты.

Но на других территориях с теми же самыми правилами в месте, просто добавляется PXX после gclid querystring и вы все еще получаете ту же самую первую страницу результатов.

Кто-либо знает, почему это могло бы быть? Или имеет надежный метод для этого сценария?

0
nl ja de
Да/tours/made-up совпадает с/tours/. У вас есть пример того, как маршруты шаблона помогли бы?
добавлено автор Mark Harrison, источник
Что отдает в место com/ tours/ искусственный ? Страница результата поиска? Можно, вероятно, использовать маршруты шаблона, чтобы устранить эту проблему (первый выпуск, не второе).
добавлено автор Nazgob, источник

1 ответы

Что-то, что вы могли сделать в шаблоне Результатов, делают условное предложение зависящим от того, чтобы там быть ключевым словом и/или таможенным полевым поиском. И в противном случае перенаправьте пользователя:

{if super_search_keywИЛИds}
{if:else}
{redirect="good/bye"}
{/if}

ИЛИ

{if super_search_my_custom_field}
{if:else}
{redirect="good/bye"}
{/if}

ИЛИ

{if super_search_keywИЛИds AND super_search_my_custom_field}
{if:else}
{redirect="good/bye"}
{/if}

All of these searches check to see if the cИЛИresponding field(s) exist as queries in the URL. :)

2
добавлено
Спасибо, я думаю, что это решает первый выпуск. Теперь, если я мог бы просто выяснить, почему нумерация страниц порывает gclid querystrings на одной территории и не других …
добавлено автор Mark Harrison, источник