【问题标题】:WebMatrix Giving 404 with UrlRoutingWebMatrix 给 404 与 UrlRouting
【发布时间】:2012-03-21 03:08:50
【问题描述】:

我一直在尝试关注这两个链接,了解 WebMatrix 如何进行 URL 路由 http://www.mikesdotnetting.com/Article/165/WebMatrix-URLs-UrlData-and-Routing-for-SEO http://www.asp.net/web-pages/tutorials/working-with-pages/18-customizing-site-wide-behavior

据我了解,类似http://localhost:44893/a/xyz

WebMatrix 将首先查找文件名 /a/xyz.cshtml,如果未找到,则检查 /a.cshtml,如果未找到,则检查 /a/default.cshtml

我在 WebMatrix 2 Beta ( 3/5 Refresh ) 中创建了一个空站点。我创建了一个文件夹名称 a 并在里面创建了一个 default.cshtml 文件。

如果我去http://localhost:44893/a,我会得到默认页面,但如果我去http://localhost:44893/a/xyz,我会得到

HTTP 错误 404.0 - 未找到 您要查找的资源已被删除、名称已更改或暂时不可用

模块 IIS Web 核心 通知 MapRequestHandler 处理程序静态文件 错误代码 0x80070002 请求的 URL http://localhost:44893/a/xyz 物理路径 C:\Code\Test\a\xyz 登录方法匿名 登录用户匿名

我在设置它时有什么遗漏吗?

【问题讨论】:

    标签: webmatrix


    【解决方案1】:

    您错过了文章的这一部分:

    如果在搜索文件期间没有找到匹配项,网页将 尝试查找默认文档。两个默认 其中有效的文档是 default.cshtml 和 index.cshtml 命令。但是,此搜索只执行一次,并假设 URL 完全是文件路径,不包含 UrlData。

    内置路由系统将始终假定 URL 表示文件路径。只有当系统已经确定 a/xyz.cshtml 不存在时才会使用默认文档,因此会尝试确定 xyz 是否是包含默认文档的文件夹。如果 a/xyz/default.cshtml(或 index.cshtml)不存在,则在尝试将此特定 URL 与文件路径匹配时,不会进一步尝试定位默认文档。

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2016-06-07
      相关资源
      最近更新 更多