Как я могу блокировать и разрешать URL-адреса страниц, используя robots.txt, который содержит числа? [Дубликат]

Хотя я не знаю точно, я бы предположил, что у Scopes обязательно есть сохранение во время выполнения, потому что JSR 330's @Scope требует, чтобы облавы имели время хранения во время выполнения. ( @Qualifier имеет такое же ограничение.) Оба Dagger 1 и Dagger 2 рекламируют совместимость JSR-330, и (как упоминает David в комментариях) существует много времени выполнения которые должны были бы абсолютно требовать аннотации аннотаций, сохраненных во время выполнения.

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


Редактировать комментарии + Android multidex caveat

Это не обязательно проблема, унаследованное или иное: многие системы DI настраиваются во время выполнения и требуют аннотации. Кинжал примечателен тем, что он этого не делает, но спецификация не была написана таким образом, чтобы удержание времени исполнения было необязательным. Это освобождает разработчиков приложений вместо Dagger с другой структурой JSR330, такой как Guice или Spring, и освобождает разработчиков библиотек, чтобы сделать совместимые с DI-совместимыми инструментами или фреймворками агностики, независимо от того, настроены ли они во время компиляции или настройки времени выполнения. Эта спецификация (т. Е. Без вариантов реализации) и гибкость (время компиляции или время выполнения), по-видимому, стоят затрат на ненужное сохранение аннотации и стоимость обучения.

Однако этот может проблема в крупных приложениях для Android, потому что Android по умолчанию по умолчанию сохраняет аннотированные классы в главном дескрипторе ; более старые версии Android не загружают аннотации времени выполнения, если аннотированный класс находится во вторичном dex. Подробнее см. В эту ошибку , связанную с keepRuntimeAnnotatedClasses docs . Хотя вы могли бы рассмотреть эту проблему с кинжалом из-за применимости Dagger к большим приложениям для Android, это скорее ошибка с обработкой аннотаций Android, для которой Кинжал должен будет расходиться с спецификацией JSR-330, чтобы справиться с ней.

51
задан Luis Valencia 10 April 2013 в 11:48
поделиться

3 ответа

Вот решение, если вы хотите запретить строки запроса:

Disallow: /*?*

или если вы хотите уточнить строку запроса:

Disallow: /*?dir=*&order=*&p=*

Вы также можете добавьте к robots.txt, который url разрешить

Allow: /new-printer$

$ будет следить за тем, чтобы разрешить /new-printer.

Дополнительная информация:

http://code.google.com/web/controlcrawlindex/docs/robots_txt.html

http: // sanzon.wordpress.com/2008/04/29/advanced-usage-of-robotstxt-w-querystrings/

91
ответ дан Book Of Zeus 17 August 2018 в 15:16
поделиться

Вы можете заблокировать эти конкретные параметры строки запроса со следующими строками

Disallow: /*?*dir=
Disallow: /*?*order=
Disallow: /*?*p=

Поэтому, если какой-либо URL содержит dir=, order= или p= где угодно в строке запроса он будет заблокирован.

19
ответ дан Nick Rolando 17 August 2018 в 15:16
поделиться
  • 1
    Означает ли это, что вся страница не будет сканироваться, пока выполняется вышеуказанное условие. – PB-BitWiser 2 August 2017 в 08:10

Зарегистрируйте свой сайт с помощью инструментов Google WebMaster.

Конфигурация сайта -> Параметры URL

Вы должны иметь страницы, содержащие эти параметры, которые указывают, что они должны быть исключены из индексации через метатег роботов. например

3
ответ дан Tony McCreath 17 August 2018 в 15:16
поделиться
  • 1
    Хотя в первоначальном вопросе упоминается Google специально, важно отметить, что Google WebMaster Tools будет блокировать Google. Добавление правил Disallow в файл robots.txt также относится к другим поисковым системам. – Matt V. 14 January 2013 в 22:37
  • 2
    Правда. Также следует уточнить, что robots.txt не останавливает страницы индексирования Google, но останавливает чтение содержимого. Лучшее решение - использовать метатег роботов на самой странице. Это поддерживается всеми системами. – Tony McCreath 15 January 2013 в 16:35
Другие вопросы по тегам:

Похожие вопросы: