2015-06-01 1 views
9

Я прочитал статью об игнорировании роботов из некоторого URL-адреса в моем проекте ASP MVC.NET. В своей статье автор сказал, что мы должны добавить некоторые действия в некоторых контроллерах, подобных этому. В этом примере он добавляет действие к главному контроллеру:Файл Robots.txt в MVC.NET 4

#region -- Robots() Method -- 
public ActionResult Robots() 
{ 
    Response.ContentType = "text/plain"; 
    return View(); 
} 
#endregion 

, то мы должны добавить файл Robots.cshtml в нашем проекте с этим телом

@{ 
    Layout = null; 
} 
# robots.txt for @this.Request.Url.Host 

User-agent: * 
Disallow: /Administration/ 
Disallow: /Account/ 

и, наконец, мы должны добавить эту строку кода к Gloabal.asax

routes.MapRoute("Robots.txt", 
       "robots.txt", 
       new { controller = "Home", action = "Robots" }); 

мой вопрос, что делать роботы сканируют контроллеры, который [Авторизация] атрибут как Administration?

+2

Для тех, кто пытается использовать приведенный выше код: он работает, но вы должны активировать путь, которым путь «robots.txt» обрабатывается с помощью маршрутов MVC в вашем web.conf, см .: http://stackoverflow.com./a/31871043/466935 – Gerwald

ответ

7

делать роботы сканируют контроллеры которых есть [Авторизация] атрибут, как администрация

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

Обратите внимание, что роботы, которые соответствуют к Robots Exclusion Standard ползать точный адрес

http://mydomain/robots.txt

Вы можете создать ответ на этот URL, как вам нравится. Один из подходов - это, конечно, иметь контроллер, который обрабатывает этот запрос. Вы также можете просто добавить текстовый файл с тем же содержимым, которое вы бы вернули с контроллера, например.

User-agent: * 
Disallow: /Administration/ 
Disallow: /Account/ 

в корневую папку вашего проекта и убедитесь, что он помечен как содержание, так что он будет развернут на веб-сайте.

Добавление этой записи robots.txt предотвратит попытки роботов-роботов пытаться просмотреть контроллеры, требующие проверки подлинности (и слегка уменьшить нагрузку на ваш сайт), но без файла роботов они просто попробуют URL-адрес и потерпят неудачу.

+0

Нет приятеля В моем вопросе я упомянул, что некоторые частные контроллеры запрещены для роботов. Могут ли они обходить частные контроллеры, которым требуется авторизация? –

+0

Нет, они не могут, не меньше, чем кто-либо с веб-браузером, могут сканировать любой URL-адрес, требующий авторизации. Обновлен мой ответ. –

+0

Спасибо, мой друг :) –

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

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