gpt4 book ai didi

asp.net - 在 .aspx 页面上引发 404

转载 作者:行者123 更新时间:2023-12-04 05:43:33 34 4
gpt4 key购买 nike

我有一个 ASP.NET 4.0 Web 表单应用程序 (IIS 7),我在其中使用 URL 路由来允许友好的 URL。例如,代替 Blog.aspx?title=the-blog-title , 我允许 Blog/the-blog-title .

我的问题是:如何防止用户直接访问 Blog.aspx?我在 web.config 中包含了以下设置:

<httpHandlers>
<add verb="*" path="*.aspx" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>

这有效,但它显示“未提供此类页面”错误。是否可以使用 IIS 或 web.config 为所有 .aspx 页面请求简单地显示 404 错误? (我知道如何以编程方式执行此操作,但如果可能,我更愿意使用配置文件。)

最佳答案

使用 URL Rewriting将违规地址更改为您喜欢的地址。这里有一篇文章 explaining the difference两种想法之间。

URL 重写的 SEO 方面

URL重写不会稀释SEO;事实上,这就是你建立的方式canonical URLs ,通过重写 URL。搜索引擎只能看到重写的 URL,而不是用于请求的 URL。

例如,如果您有以下 URL 都指向您的主页:

  • http://example.com/
  • http://example.com/default.aspx
  • http://www.example.com/
  • http://www.example.com/default.aspx

  • 然后,您可以重写 URL,以便任何请求上述任何 URL 的人都将获得 URL http://www.example.com/ .无论最初如何访问该页面,该 URL 都是搜索引擎可以看到的唯一 URL。

    重写的工作原理

    当您请求一个 URL 时,是否是针对 example.com/blog.aspxexample.com/blog ,请求被发送到网络服务器。在那里,URL 重写引擎评估请求 header 中的 URL。如果 URL 匹配任何重写规则(例如,删除 .aspx 扩展名),则 Web 服务器发出 301 Permanently Moved响应代码,在响应头中带有新的 URL。

    浏览器收到响应后,请求新的 URL。搜索引擎机器人如 googlebot查看永久重定向代码并将该链接的索引更改为请求的 URL。所以,如果它已经索引 example.com/blog.aspx ,或任何链接到它的人, 301 Permanently Moved响应告诉蜘蛛新的 URL 实际上是 example.com/blog .所以,在蜘蛛眼中, example.com/blog.aspxexample.com/blog .

    这就是人们在不损失 PageRank 的情况下移动网站和页面的方式,因为重写引擎将蜘蛛指向新页面,因此新页面名称与旧页面名称保持相同的 PageRank。

    URL Rewriting也是访问站点的方式,以本站为例, www.stackoverflow.com并让浏览器实际显示 stackoverflow.com (没有 www )。重写引擎告诉浏览器(和蜘蛛)引用 www.stackflow.com实际上被称为 stackoverflow.com .

    虽然您已经找到了令您满意的解决方案,但我强烈建议您花一些时间研究 URL 重写,因为它比发送错误消息更优雅、更专业。它还允许您重定向所有 non-wwwwww 发出请求url,进一步防止您的 SEO 排名被稀释。

    关于asp.net - 在 .aspx 页面上引发 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10971394/

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