URL重写不使用URL结尾”;.广告“;或“;.cd”;

本文关键字:URL cd 广告 结尾 重写 | 更新日期: 2023-09-27 18:22:25

我的自定义URL重写设置遇到了一些困难。我没有使用任何第三方工具来管理这一点,只是通过查看每个请求并处理它来使用global.asax

我使用它的方式如下:www.mydomain.com/site/google.com

这个页面包含关于网站"google.com"的信息。我使用的是URL中的实际域。这一切都很好。

我简化了我正在使用的代码,只是为了向您展示它的工作原理示例:

Dim myContext As HttpContext = HttpContext.Current
Dim URL As String = myContext.Request.ServerVariables("URL")
If URL.ToLower.Contains("/site/") Then
    URL = URL.Trim("/")
    Dim strURL As String = URL.ToLower.Split("/")(1)
    Redirect301("/site.aspx?url=" & strURL)
    Exit Sub
End If

我遇到的问题是,对于某些域扩展,页面只会加载自定义的404未找到,我不知道原因是什么。

未加载的页面示例:

  • /网站/谷歌.ad
  • /网站/谷歌.cd

我猜系统认为.cd和.ad文件是实际的物理文件,当它找不到它们时,它会显示自定义404错误。实际上,请求看起来并没有通过global.asax。当在本地环境中工作时,它们实际上加载良好,但只有在实时服务器上才有这个问题,这就是为什么试图弄清楚它是一场噩梦。

我发现的另一个问题是加载以下URL:

  • /网站/prn.com

这再次显示了一个404错误,但这次不是我创建的自定义错误,而是实际的看起来很难的.net 404错误页面。这在当地环境中也很好。

必须有一些IIS设置或代码更改,我可以尝试解决此问题。

感谢您抽出时间:)

Aki

URL重写不使用URL结尾”;.广告“;或“;.cd”;

检查此链接。尝试浏览IIS 7.0上托管的网页时出现错误消息:"HTTP错误404.7–FILE_EXTENSION_DENIED

这就是.ad.cd扩展被阻止的原因。