Mer*_*ijn 14 asp.net-mvc asp.net-mvc-routing
我想将以下链接"http://mywebsite.com/robots.txt"链接到静态文件〜/ Content/robots.txt.
我怎样才能做到这一点?
谢谢,Merijn
Jam*_*ruk 11
添加这样的路线应该可以解决问题.这样就可以提供像robots.txt这样的静态.txt文件.
routes.IgnoreRoute("{resource}.txt");
Run Code Online (Sandbox Code Playgroud)
您可以安装Url Rewrite模块:http:
//www.iis.net/downloads/microsoft/url-rewrite
请记住,此模块适用于IIS而不适用于Cassini/IIS Express.
并将以下规则添加到web.config to section<system.webServer>
<rewrite>
<rules>
<rule name="robots" stopProcessing="true">
<match url="robots.txt" />
<action type="Rewrite" url="/Content/robots.txt" />
</rule>
</rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)
我在新的MVC 3 .NET项目上检查了它,并使用相同的文件检测了两个url响应:mywebsite.com/robots.txt
mywebsite.com/Content/robots.txt
您可以设置磁盘文件的路由请求.默认情况下,路由系统会在评估应用程序的路由之前检查URL是否与磁盘文件匹配.如果匹配,则提供磁盘文件并且不使用路由.但是,这可以被尊重,因此通过设置to 的RouteExisitingFiles属性RouteCollection来检查磁盘文件之前的路径true.将此语句放在RegisterRoutes方法的顶部附近 - 这似乎是mvc apps的惯例.然后定义磁盘文件的路由.请注意,在执行此操作时,可能会出现一些不可预见的影响,因为riute可能会出现其他类型的URL.
| 归档时间: |
|
| 查看次数: |
4522 次 |
| 最近记录: |