URL重写无法使用以“.ad”或“.cd”结尾的URL

时间:2013-07-16 09:25:56

标签: c# asp.net .net vb.net url-rewriting

我的自定义网址重写设置遇到了一些困难。我没有使用任何第三方工具来管理它,只需通过查看每个请求并处理它来使用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 Not Found,我不知道原因是什么。

未加载的网页示例:

  • /site/google.ad
  • /site/google.cd

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

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

  • /site/prn.com

这再次显示404错误,但这次不是我创建的自定义错误,而是实际看起来很难看的.net 404错误页面。这在当地环境中也可以正常使用。

必须有一些IIS设置或代码更改才能尝试解决此问题。

感谢您的时间:)

1 个答案:

答案 0 :(得分:1)