Chrome中的MVC路线在路线末端有额外的问号...为什么?

时间:2013-02-27 16:46:42

标签: c# asp.net-mvc-3 google-chrome .net-4.0 asp.net-mvc-routing

我有一个MVC路由,在IE和Firefox中显示为http://{site}.com/{value}/,这是我期望的正确格式。但是,Chrome中的相同路线最后会有一个额外的问号;即http://{site}.com/{value}/?。我没有通过查询字符串变量或额外的数据..也就是说,在IE中,它应该工作,并没有额外的?在路线的尽头。

为什么还有额外的?在URL的末尾,我该如何摆脱它?我的任务是规范我们网站的网址,以帮助搜索抓取结果,这就是我的任务。此外,这个额外角色的外观是否会影响搜索引擎从谷歌或其他公司爬行?

编辑: 我正在使用此值来设置我的控制器操作的路由: [GET("{city}-{state}-{zip}/{name}/{entity}")]

public static class AttributeRouting
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        // See http://github.com/mccalltd/AttributeRouting/wiki/3.-Configuration for more options.
        // To debug routes locally using the built in ASP.NET development server, go to /routes.axd
        routes.MapAttributeRoutes(config =>
        {
            config.AppendTrailingSlash = true;
            config.ScanAssembly(Assembly.GetExecutingAssembly());
            config.AddDefaultRouteConstraint(@"^entity$", new RegexRouteConstraint(@"^\d{6,7}$"));
            config.AddDefaultRouteConstraint(@"^address$", new RegexRouteConstraint(@".{3,}$"));
            config.AddDefaultRouteConstraint(@"^stateName$", new RegexRouteConstraint(@"^[^-]+$"));
            config.AddDefaultRouteConstraint(@"^page$", new RegexRouteConstraint(@"[0-9]*?$"));
        });
    }

    public static void Start()
    {
        RegisterRoutes(RouteTable.Routes);
    }
}

0 个答案:

没有答案