【发布时间】:2015-11-20 15:54:33
【问题描述】:
我的路线配置如下
routes.MapRoute(
name: "Default",
url: "TEST/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
重定向到相应的控制器和操作可以正常工作。
我想在 TEST 上添加另一个重定向,这样如果有人使用 www.mysite.com/TEST,它应该重定向 www.mysite.com/Test/Home 而不是给出 403- Forbidden: Access is denied 错误。
我正在尝试这样但无法实现。
routes.MapRoute(
name: "AnotherDefault",
url: "TEST",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
基本上,我要做的是从 www.mysite.com 或 www.mysite.com/TEST 重定向到 www.mysite.com/TEST/Home
更令人困惑的是,我的应用程序根目录中还有一个物理文件夹 TEST。只是想知道在其中保留另一个 web.config 是否会解决?我试过了,但没有成功
请告知我在这里缺少什么。谢谢
经过一些实验,我发现物理文件夹 TEST 导致重定向规则失败。我将路由更改为 URL 中的 TEST1 而不是 TEST,它起作用了。但是,我无法重命名 TEST 文件夹。请指教
【问题讨论】:
-
看看这些路由的添加顺序。
-
是的,我也试过了
-
我不确定,但可能是因为物理文件夹 TEST,我得到 403 - Forbidden error
-
也许从“AnotherDefault”中删除多余的默认 id?你有“RouteConfig.RegisterRoutes(RouteTable.Routes);”在 Global.asax 中的 Application_Start() 中?
-
是的,我已经在 Global.asax 中了;如果我使用 www.mysite.com/TEST/mycontroller/myaction,我的路由工作;但我唯一的问题是我无法将 www.mysite.com/TEST 重定向到 www.mysite.com/TEST/Home。我有一个物理文件夹,也称为 TEST。我只担心它是否与我的路由冲突