Переписать все URL-адреса изменить расширение ASPX на HTML - PullRequest
1 голос
/ 24 августа 2011

Я новичок в модуле перезаписи url iis, и я не знаю, как это сделать.

Например, у меня есть этот URL:

http://localhost/section.aspx?x=section1&IDSection=45

И я хочу это:

http://localhost/section~x~section11~IDSection~45.html

Есть идеи?Спасибо за вашу помощь.

Ответы [ 3 ]

0 голосов
/ 25 августа 2011

это решение с использованием модуля перезаписи URL в IIS7:

  • Создание нового пустого правила входящего трафика
  • Шаблоны: ^ section ~ x ~ ([_ 0-9a-z-] +) ~ IDSection ~ ([0-9] +). Html
  • Действие перезаписи: Section.aspx? X = {R: 1} & IDSection = {R: 2}
  • Создать новое правило черного выхода за пределы диапазона
  • Создать новое предварительное условие в следующем формате:
    • Ввод условия: {RESPONSE_CONTENT_TYPE}
    • Шаблон: ^ text / html
  • Шаблон: ^ Section.aspx \? X = ([_ 0-9a-z -] +) (?: & | &) IDSection = ([0-9] +) $
  • И действие перезаписи: Раздел ~ x ~ {R: 2} ~ IDSection ~ {R: 2} .html
0 голосов
/ 07 сентября 2017

Вы можете сделать это в c #, чтобы использовать настраиваемое расширение в вашем URL в ASP.NET.

protected void Application_BeginRequest(object sender, EventArgs e)
   {
    HttpApplication app = sender as HttpApplication;
    if (app.Request.Path.ToLower().IndexOf(".html") > 0)
    {
        string rawpath = app.Request.Path;
        string path = rawpath.Substring(0, rawpath.IndexOf(".html"));
        app.Context.RewritePath(path+".aspx");
    }
}
0 голосов
/ 24 августа 2011

Что вам нужно сделать, это написать обработчик.Таким образом, вы можете захватить расширение и затем проанализировать его по мере необходимости.Это будет невидимым для пользователя.Определенно, вы хотите использовать обработчик, так как если вы используете маршрутизацию URL, вам все равно придется изменить обработчик с aspx на html в IIS.

...