Перезапись URL в asp.net - PullRequest
1 голос
/ 07 июля 2011

У меня есть веб-сайт, который будет переходить на другой домен после входа в систему. Мне нужно переписать URL, удалив страницу aspx URL-адреса и добавить имя домена, с которого он переходит.URL-адрес на странице https, которая будет перенаправлена ​​со страницы http.например: - с сайта www.xyz.com он был перенаправлен на www.abc.com.так, чтобы URL отображался как www.abc.com/xyz, может ли кто-нибудь помочь мне в этом?

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Для этого вы можете использовать модуль перезаписи URL. Вот некоторые примеры:

http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

1 голос
/ 07 июля 2011

Обычно это делается в ASP.NET MVC и называется ASP.NET Routing .Это применимо и в ASP.NET WebForms.

Вы также можете использовать модуль IIS с именем IIS Rewrite , это похоже на Apache mod_rewrite, если вы знаете, как это работает.

Здесь - это руководство по работе.

Из MSDN относительно маршрутизации ASP.NET:

В приложении веб-форм высоздавать маршруты с помощью метода MapPageRoute (String, String, String) класса RouteCollection.Метод MapPageRoute создает объект Route и добавляет его в объект RouteCollection.Свойства для объекта Route указываются в параметрах, передаваемых методу MapPageRoute.

Обычно маршруты добавляются в метод, который вызывается из обработчика для события Application_Start в файле Global.asax.Этот подход гарантирует, что маршруты доступны при запуске приложения.Это также позволяет вам вызывать метод непосредственно при модульном тестировании приложения.Если вы хотите вызывать метод непосредственно при модульном тестировании приложения, метод, который регистрирует маршруты, должен быть статическим (Shared в Visual Basic) и иметь параметр RouteCollection.

В следующем примере показан код изфайл Global.asax, который добавляет объект Route, который определяет два параметра URL, называемые action и categoryName.URL-адреса с указанным шаблоном направляются на физическую страницу с именем Categories.aspx.

Это ваш Global.asax:

protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("",
        "Category/{action}/{categoryName}",
        "~/categoriespage.aspx");
}
...