【发布时间】:2017-02-06 13:12:05
【问题描述】:
我有一大组需要 301 重定向的 URL。我已经为各种 301 设置了许多路由作为“捕获”,但我似乎以某种方式创建了一个重定向循环。
有人可以确认 - 以下是一个有效的 url 并强制参数 ONLY 来自管道分隔列表(即,如果值不匹配,则路由不会捕获)
routes.MapRoute("MyRouteName", // Route name
"first-folder/second-folder/{param1}", // URL with parameters
new
{
controller = "Redirect",
action = "MyRedirectHandler",
newRouteName = "mynewroute",
folder1= "foo",
folder2 = "bar",
set = "option1|option2|option3"
});
所以,在这种情况下:
mysite.com/first-folder/second-folder/option1 => mysite.com/mynewroute/foo/bar
mysite.com/first-folder/second-folder/option2 => mysite.com/mynewroute/foo/bar
mysite.com/first-folder/second-folder/option88 => 404
set 中的参数仅用于捕获 url,我的 MyRedirectHandler 是一个控制器操作,它将对我在 newRouteName 中指定的路由执行 301。
【问题讨论】:
标签: asp.net-mvc redirect