mvc跳转问题:小写地址跳转到大写地址
在mvc中,经常会遇到一个问题:用户无意中输入或保存了小写地址,导致无法正确跳转到对应的控制器和视图。本文将针对这个问题提供解决方案。
解决方案
浏览器重定向
一种简单的方法是在页面中添加以下JavaScript代码:
if (location.href.indexof("oa/pms") >= 0) { location.href = "oa/pms/"; }
这段代码检测浏览器中的url是否包含”oa/pms”,如果是,则将其重定向到”oa/pms/”。
后端重定向
另一种方法是在后端控制器中使用redirect方法:
public ActionResult Index() { if (Request.Url.ToString().IndexOf("oa/pms") >= 0) { return RedirectToRoute("Default", new { controller = "Login", action = "Index" }); } // 其它业务逻辑 }
这种方法通过检测请求url是否包含”oa/pms”,如果是,则重定向到”login”控制器中的”index”视图。
iis配置
iis发布默认是不区分大小写的。因此,还可以直接在iis中配置,将小写请求重定向到大写请求。
- 打开 iis 管理器。
- 选择要配置的网站或虚拟目录。
- 右键单击并选择”编辑绑定”。
- 在”主机名”选项卡上,取消选中”忽略大小写”复选框。
配置完成后,iis会将所有小写地址重定向为大写地址。