Request.Url改为始终提供小写网址?

时间:2011-10-26 01:55:25

标签: asp.net

我有一个旧网站,其源代码中有许多旧版本,其中一个是我有if语句检查Request.Url字符串,如果它包含“Default.aspx”。这已经工作了一次,但昨天我意识到这不再起作用,因为返回的URL总是小写(虽然我的文件名是Default.aspx)。

这是对IIS或asp.net做过的一些奇怪的小修复吗?我想这可能是我做过的事情,但我想我也可以问一下,也许你们中的一些人对此有所了解,或者某个地方的任何全局设置都可能导致这种情况。

3 个答案:

答案 0 :(得分:1)

你的if语句可能是这样的:

if(Request.Url.ToLower().Contains("default.aspx"))
{
    //to do...
}

答案 1 :(得分:0)

Urls区分大小写,但ASP.NET不是。您需要.ToLower()字符串进行比较。

另外,请检查IIS中default document的设置是什么,可能已更改为default.aspx

Setting Up Default Documents (IIS 6.0)

Configuring Default Documents in IIS 7

答案 2 :(得分:0)

你可以建立一个httpmodule来永久地重定向(301)任何有上层字符的网址到其下层的字符;你不必改变你的任何平等检查......