相关疑难解决方法(0)

如何正确规范ASP.NET MVC应用程序中的URL?

我正在尝试找到一个很好的通用方法来规范化ASP.NET MVC 2应用程序中的URL.这是我到目前为止所提出的:

// Using an authorization filter because it is executed earlier than other filters
public class CanonicalizeAttribute : AuthorizeAttribute
{
    public bool ForceLowerCase { get;set; }

    public CanonicalizeAttribute()
        : base()
    {
        ForceLowerCase = true;
    }

    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        RouteValueDictionary values = ExtractRouteValues(filterContext);
        string canonicalUrl = new UrlHelper(filterContext.RequestContext).RouteUrl(values);
        if (ForceLowerCase)
            canonicalUrl = canonicalUrl.ToLower();

        if (filterContext.HttpContext.Request.Url.PathAndQuery != canonicalUrl)
            filterContext.Result = new PermanentRedirectResult(canonicalUrl);
    }

    private static RouteValueDictionary ExtractRouteValues(AuthorizationContext filterContext)
    {
        var values = filterContext.RouteData.Values.Union(filterContext.RouteData.DataTokens).ToDictionary(x => x.Key, x => …
Run Code Online (Sandbox Code Playgroud)

.net url-routing canonical-link asp.net-mvc-2

10
推荐指数
3
解决办法
9636
查看次数

8
推荐指数
2
解决办法
5897
查看次数

ASP.NET MVC - 301重定向 - 搜索引擎优化问题

所以我有一个像这样的ActionName:

[ActionName("Chicago-Bears")]
public ActionResult ChicagoBears() {
  return View();
}
Run Code Online (Sandbox Code Playgroud)

谷歌的索引为:http://www.example.com/Teams/ChicagoBears

我坚持使用IIS6并且自己无法访问IIS.

当然,现在它有一个连字符.因此,如果有人点击该链接,Google会显示404.

如何在此实例中设置301重定向?我无法创建另一个名为ChicagoBears()的方法,所以......

多谢你们.

asp.net-mvc seo iis-6 http-status-code-301

1
推荐指数
1
解决办法
4578
查看次数