加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 无法在asp.net mvc中映射robots.txt的路由

发布时间:2020-12-16 07:02:19 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个asp.net mvc应用程序.我正在为我的应用程序创建robots.txt以防止机器人,因为我当前的站点收到了很多机器人请求.所以我找到了这个链接,Robots.txt file in MVC.NET 4来创建robots.txt.但是当我访问我的应用程序时,如此输入网址“www.domain.com
我正在开发一个asp.net mvc应用程序.我正在为我的应用程序创建robots.txt以防止机器人,因为我当前的站点收到了很多机器人请求.所以我找到了这个链接,Robots.txt file in MVC.NET 4来创建robots.txt.但是当我访问我的应用程序时,如此输入网址“www.domain.com/robots.txt”,它总是返回404页面.请参阅下面的代码.

这是我在HomeController中的动作方法

public ActionResult Robots()
{
    Response.ContentType = "text/plain";
    return View();
}

这是我的机器人视图

@{
    Layout = null;
}

User-agent:*
Disallow:/

我在RouteConfig中为robots.txt配置了这样的路由

public static void RegisterRoutes(RouteCollection routes)
 {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            //routes.MapMvcAttributeRoutes();
            routes.MapRoute(
               "Robots.txt","robots.txt",new { controller = "Home",action = "Robots" },new string[] { "AyarDirectory.Web.Controllers" }
               );

          //other routes
}

但是当我访问此网址“www.domain.com/robots.txt”时,它总是返回404页面.如何正确地将robots.txt添加到我的应用程序中?

解决方法

默认情况下,ASP.NET MVC中不允许创建以文件扩展名结尾的路由.要解决此安全限制,您需要将以下内容添加到Web.config文件中:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!-- ...Omitted -->
  <system.webServer>
    <!-- ...Omitted -->
    <handlers>
      <!-- ...Omitted -->
      <add name="RobotsText"
           path="robots.txt"
           verb="GET"
           type="System.Web.Handlers.TransferRequestHandler"
           preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>
</configuration>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读