Маршрутизация Asp.net 3.5 sp1

Я использую функцию маршрутизации URL-адресов ( http://msdn.microsoft.com/en-us/magazine/dd347546.aspx ) на моем веб-сайте asp.net 3.5 sp1. Мне интересно, это то же самое, что и 301 редиректы? то, что я хочу, это 301 перенаправление с моих старых страниц asp на новые страницы aspx.


person DotNetUser    schedule 20.10.2011    source источник


Ответы (2)


Маршрутизация, на которую вы указали, является сопоставлением со страницей, которая обрабатывает запрос. Посмотрите на пример:

RouteTable.Routes.Add(
    "Recipe",
    new Route("recipe/{name}", 
              new RecipeRouteHandler(
                  "~/WebForms/RecipeDisplay.aspx")));

Это настраивает получение URI, такого как http://mysite.com/recipe/grits, и маршрутизирует его. на http://mysite.com/WebForms/RecipeDisplay.aspx?name=grits (или аналогичный). Это делается на стороне сервера, а не на стороне клиента, как 301.

Если вы хотите перенаправить пользователя, вам нужно отобразить это на сервере.

person Gregory A Beamer    schedule 20.10.2011

Нет, вы не можете использовать функцию маршрутизации для перенаправления страниц asp classic. Вы можете настроить iis для этого.

person ʞᴉɯ    schedule 20.10.2011
comment
Я хочу сделать это в коде, а не в настройке IIS. Есть ли другой способ? - person DotNetUser; 20.10.2011
comment
Чтобы использовать функцию маршрутизации для страницы asp classic, она должна обрабатываться движком asp.net, и я не думаю, что это возможно. - person ʞᴉɯ; 20.10.2011
comment
Я хочу сделать его SEO дружественным. Я сопоставил свою страницу asp с новой aspx, но в URL-адресе все еще отображается URL-адрес страницы asp, поэтому для SEO они все еще являются двумя разными страницами? Извините за беспокойство, но я смущен этими вещами. - person DotNetUser; 20.10.2011
comment
Я предлагаю вам использовать другой подход: для классического asp вы можете попробовать компонент перезаписи URL, такой как ISAPI_Rewrite isapirewrite.com - person ʞᴉɯ; 20.10.2011