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

asp.net-mvc – 如何在ASP.NET MVC中添加路由到动态robots.txt?

发布时间:2020-12-16 04:18:39 所属栏目:asp.Net 来源:网络整理
导读:我有一个robots.txt,它不是静态的,而是动态生成的.我的问题是创建从root / robots.txt到我的控制器操作的路由. 这有效: routes.MapRoute(name: "Robots",url: "robots",defaults: new { controller = "Home",action = "Robots" }); 这不起作用: routes.Map
我有一个robots.txt,它不是静态的,而是动态生成的.我的问题是创建从root / robots.txt到我的控制器操作的路由.

这有效:

routes.MapRoute(
name: "Robots",url: "robots",defaults: new { controller = "Home",action = "Robots" });

这不起作用:

routes.MapRoute(
name: "Robots",url: "robots.txt",/* this is the only thing I've changed */
defaults: new { controller = "Home",action = "Robots" });

“.txt”显然导致ASP到barf

解决方法

您需要将以下内容添加到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>

有关详细信息,请参阅我在Dynamically Generating Robots.txt Using ASP.NET MVC上发表的博文.

(编辑:李大同)

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

    推荐文章
      热点阅读