2017-01-27 20 views
1

robots.txt обрабатывает $ как специальный символ для идентификации конца рисунка.

Хотя, Googlebot является разбор некоторых hrefs из шаблонов JS внутри тегов сценария например:

<a href="${object.path}"> ${object.name}</a> 

После кодирования его, Google бот пытается достичь mySite.com/$%7Bobject.path%7D, который заканчивается в 404-х.

Чтобы обойти это, я хочу отключить такие URL-адреса от обхода, добавив соответствующую директиву в свой файл robots.txt.

Но используя $ «как есть», не работает:

Disallow: /$%7Bobject.path%7D$ 

Единственный рабочий раствор я нашел, чтобы использовать символ подстановки:

Disallow: /*%7Bobject.path%7D$ 

Хотя, я на самом деле Любопытно, есть ли способ избежать этого знака $?

Спасибо.

EDIT:

Ну после того, как еще несколько испытаний с помощью инструмента robots.txt тестирования Google У меня есть некоторые странные результаты. В соответствии с этим инструментом директива:

Disallow: /*%7Bobject.path%7D$ 

не будет работать на /$%7Bobject.path%7D в то время как другие инструменты, говорит мне, что он соответствует (как https://technicalseo.com/seo-tools/robots-txt/).

Что работает в инструмент тестирования Google, ставит скобки Unencoded в директиве:

Disallow: /*{object.path}$ 

Я не могу сделать какой-то смысл из него, так что я положил обе версии в моем файле robots.txt.

ответ

0

Googlebot и другие сканеры поддерживают $, но не являются частью стандарта протокола исключения роботов.

В стандарт не входит символ эвакуации, и в документации Google это не упоминается.

Вы пробовали использовать доллар закодированный ?:

Disallow: /%24%7Bobject.path%7D$ 
+0

Я боюсь, что не будет соответствовать, так как Google бот не Percent закодировать $ полукокса: / – gonzoyumo

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

  • Нет связанных вопросов^_^