gpt4 book ai didi

asp.net - 无法弄清楚如何将我的非 MVC 站点从 sitemap.xml 路由到另一个 .aspx 页面

转载 作者:行者123 更新时间:2023-12-05 00:35:58 24 4
gpt4 key购买 nike

在谷歌搜索时,唯一的解决方案是针对 MVC 网站。我的 asp.net 4.0 站点不是 MVC。我希望对 sitemap.xml 的请求加载另一个动态 .aspx 页面,以便我可以即时生成 google 的链接。

我花了几个小时搜索,如果你知道我在哪里可以找到答案,请告诉我。

我试过使用

RouteTable.Routes.Add("SitemapRoute", new Route("sitemap.xml", new PageRouteHandler("~/sitemap.aspx")))

最佳答案

你的代码是正确的,应该放在Application_Start Global.asax 中的方法.例如:

void Application_Start(object sender, EventArgs e) 
{
RouteTable.Routes.Add(new Route(
"sitemap.xml", new PageRouteHandler("~/sitemap.aspx")));
}

但是,您还需要确保 *.xml 文件由 ASP.NET 处理。默认情况下,*.xml 文件将只由 IIS 提供,而不由 ASP.NET 处理。为确保它们由 ASP.NET 处理,您可以:

1) 指定 runAllManagedModulesForAllRequests="true"system.webServer您的 web.config 中的元素:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>

或 2) 为 .xml 文件添加“处理程序映射”:
<system.webServer>
<handlers>
<add name="xml-file-handler" path="*.xml" type="System.Web.UI.PageHandlerFactory"
verb="*" />
</handlers>
</system.webServer>

我在一个示例 ASP.NET(非 MVC)项目中对此进行了测试,并且能够让路由按照您指定的方式工作。

关于asp.net - 无法弄清楚如何将我的非 MVC 站点从 sitemap.xml 路由到另一个 .aspx 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com