Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net中强制使用小写URL?_Asp.net_Webforms - Fatal编程技术网

如何在asp.net中强制使用小写URL?

如何在asp.net中强制使用小写URL?,asp.net,webforms,Asp.net,Webforms,我正在浏览我们的网站,出于缓存的原因,将所有URL转换为小写。我会发一封电子邮件给我们所有的开发者,让我们使用所有小写URL成为一个标准,但我知道他们最终会忘记,混合大小写的URL最终会偷偷地回到网站中。有没有一种好方法可以检查响应中的URL并将其转换为小写 我可能会在请求端做同样的事情,以确保所请求的url是小写的,我认为这可以通过url重写规则来完成 我的提议会对性能产生很大影响吗 如果路径包含大写字符,母版页中的302永久重定向如何 if (Request.Url.AbsolutePath

我正在浏览我们的网站,出于缓存的原因,将所有URL转换为小写。我会发一封电子邮件给我们所有的开发者,让我们使用所有小写URL成为一个标准,但我知道他们最终会忘记,混合大小写的URL最终会偷偷地回到网站中。有没有一种好方法可以检查响应中的URL并将其转换为小写

我可能会在请求端做同样的事情,以确保所请求的url是小写的,我认为这可以通过url重写规则来完成


我的提议会对性能产生很大影响吗

如果路径包含大写字符,母版页中的302永久重定向如何

if (Request.Url.AbsolutePath.Any(char.IsUpper))
{
    Response.RedirectPermanent(Request.Url.Scheme + "://" +
        Request.Url.Host +
        (Request.Url.Port != 80 ? ":" + Request.Url.Port.ToString() : string.Empty) +
        Request.Url.AbsolutePath.ToLowerInvariant() +
        Request.Url.Query);
}

我原以为URL是不区分大小写的…@David它们是不区分大小写的,但如果有一个字母大小写不同,那么浏览器会认为它是另一个项目,不会从缓存中返回它。例如:被缓存,并且您请求,那么浏览器将发出请求(它认为是不同的项目),并且不会从浏览器缓存返回该项目。@NitensaWant:您可以添加到母版页或页面的
Pre Init
事件。