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