TYPO3: Bingbot создает ошибку ext_form, которая кэшируется

У нас проблема с одной из наших установок TYPO3. Bingbot, который посещает сайт, вызывает контроллер старого расширения ext_form без параметров и создает ошибку.

207.46.13.XXX - - [16/Oct/2018:00:18:48 +0200] "GET example.html?tx_form_form%5Baction%5D=process HTTP/1.1" 200 10256 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

Проблема для нас не в том, что это происходит, а в том, что TYPO3 кэширует сайт с "К сожалению, произошла ошибка! Код: 20181016001848e0153dcf" в качестве содержимого.

Есть ли способ сказать TYPO3, чтобы не кэшировать сайт, если произошла ошибка, или отправить бота на сайт 404, если он вызывает сайт с ложными параметрами.

1 ответ

Решение

Есть несколько вещей, которые вы можете сделать:

  • исключить страницу с параметрами в robots.txt (Изменить: после рассмотрения это решение, вероятно, не подходит для конкретной проблемы)
  • перенаправить в .htaccess если страница вызывается без обязательного параметра, то перенаправление также должно распознаваться ботом.
  • проверьте, почему бот даже вызывает страницу без обязательного параметра, возможно, вы можете избежать этого.
  • Bing может быть настроен для конкретного URL, эта страница может быть отправной точкой для вас.

РЕДАКТИРОВАТЬ:
Пример для htaccess (не тестировался):

RewriteCond %{QUERY_STRING} .+
RewriteRule ^example.html?tx_form_form%5Baction%5D=process$ example.html [L,R=301,QSD]

Цель example.html может быть что угодно, либо пользовательская страница 404, либо просто просмотр списка. Код 301 в [L,R=301,QSD] можно настроить в соответствии с кодами состояния HTTP (3xx). Если он перенаправлен на (пользовательскую) страницу 4xx, код статуса HTTP должен быть соответствующим (404или, возможно, другое 4xx-сообщение о статусе, т.е. 400).

Другие вопросы по тегам