我试图建立一个包罗万象的路线进行跟踪,当一个附属字符串是在URL中。 一个affilite代码是由一个标记x
后跟一个int
,并且将仅出现在一个URL(但查询字符串之前)的端部。
这个想法是,我将提取的会员ID,做一些记录,然后做一个301没有会员ID相同的请求。
例如:
http://www.domain.com/x32
http://www.domain.com/x32/
http://www.domain.com/path/to/something/x32
http://www.domain.com/x32?query=string
http://www.domain.com/x32/?query=string
http://www.domain.com/path/to/something/x32?query=string
http://www.domain.com/path/to/something/x32/?query=string
我有这条路线
routes.Add(new Route("{url}/x{affiliateExternalId}", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(
new { controller = "Home", action = "LogCookieAndRedirect" }
),
Constraints = new RouteValueDictionary(new { affiliateExternalId = @"\d{1,6}" })
});
其中仅匹配
http://www.domain.com/path/x32
http://www.domain.com/path/x32/
我需要做什么做匹配的一切,查询字符串传递给控制器? 有一个*
,我怀疑我应该使用运营商,但我不能让它做什么,我需要。