Маршруты MVC - избегайте нескольких URL для одного и того же местоположения - PullRequest
3 голосов
/ 28 февраля 2011

Маршрут по умолчанию в ASP.net MVC следующий:

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

Это означает, что я могу получить доступ к методу действия HomeController / Index несколькими способами:

http://localhost/home/index
http://localhost/home/
http://localhost/

Какможно избежать трех URL для одного и того же действия?

Ответы [ 3 ]

4 голосов
/ 28 февраля 2011

Если вы хотите только:

http://localhost/

, то:

routes.MapRoute(
    "Default",
    "",
    new { controller = "Home", action = "Index" }
);

Если вы хотите только:

http://localhost/home/

тогда:

routes.MapRoute(
    "Default",
    "home",
    new { controller = "Home", action = "Index" }
);

и если вы хотите только:

http://localhost/home/index

, то:

routes.MapRoute(
    "Default",
    "home/index",
    new { controller = "Home", action = "Index" }
);
1 голос
/ 28 февраля 2011

Появляются значения по умолчанию.

Избавьтесь от значений по умолчанию для контроллера и действия.

    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new {id = UrlParameter.Optional } // Parameter defaults
    );

Это сделает тип пользователя в контроллере и действии.

0 голосов
/ 01 марта 2011

Я не думаю, что вы делаете это для SEO?Google наказывает вас за дублированный контент, поэтому стоит задуматься.

Если это так, то маршрутизация - не лучший способ решить вашу проблему.Вы должны добавить каноническую ссылку на <head> вашей домашней страницы.Поэтому поместите <link href="http://www.mysite.com" ref="canonical" /> в заголовок вашей страницы Views / Home / Index.aspx, и с каких бы поисковых систем URL ни заходили на вашу домашнюю страницу, вся ценность SEO будет отнесена к URL, указанному в канонической ссылке.информация: о каноническом теге

В прошлом году я написал статью о SEO проблемах с точки зрения разработчика , если вы смотрите на такие вещи

...