Asp.net

MVC.NET 4 中的 Robots.txt 文件

  • July 1, 2020

我已經閱讀了一篇關於在我的 ASP MVC.NET 項目中從某個 url 忽略機器人的文章。在他的文章中作者說我們應該像這樣在一些關閉控制器中添加一些動作。在此範例中,他將操作添加到 Home Controller:

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

那麼我們應該在我們的項目中添加一個帶有這個body的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" });

我的問題是機器人是否會抓取具有

$$ Authorization $$屬性喜歡Administration

機器人是否會抓取具有

$$ Authorization $$像管理這樣的屬性

如果他們找到指向它的連結,他們可能會嘗試抓取它,但他們會像使用未登錄的網路瀏覽器的任何人一樣失敗。機器人沒有與標準瀏覽器不同的特殊能力來訪問您的網站。

請注意,符合機器人排除標準的機器人會抓取確切的 URL

http://mydomain/robots.txt

您可以根據需要為該 URL 創建響應。一種方法當然是擁有一個處理該請求的控制器。您也可以只添加一個文本文件,其內容與您從控制器返回的內容相同,例如

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

到項目的根文件夾並確保將其標記為內容,以便將其部署到網站。

添加此 robots.txt 條目將阻止符合要求的機器人嘗試瀏覽需要身份驗證的控制器(並稍微減輕您網站上的負載),但如果沒有 robots.txt 文件,它們只會嘗試 URL 並失敗。

引用自:https://stackoverflow.com/questions/30578577