我想将我的应用程序中所有以-2
结尾的URL重定向到一个特定的动作,我列出了它们的列表,但是我不想对routes.MapRoute()
进行其他调用以-2
结尾的所有不同网址。相反,我想使用正则表达式将它们映射到该特定操作,但我对正则表达式没有丰富的经验。我正在尝试做这样的事情:
routes.MapRoute(
"OldUrls",
"{*path}",
new { controller = "Redirect", action = "RedirectToUrl" },
new { path = @".*-2"},
new[] { "Application.Controllers" });
}
答案 0 :(得分:1)
如果您只想查找以-2
结尾的字符串,则您甚至不需要Regex
。
只需:
if (url.EndsWith("-2"))
{
}
如果您必须使用Regex
,那么
path = @".*-2$"
说明:
.*
=零个或多个字符。-2
=完全匹配-2
。$
=匹配字符串的结尾。也:
建议使用
Uri.IsWellFormedUriString(YourURLString, UriKind.RelativeOrAbsolute)
如果从未验证过您的URL,则进行验证。