Ошибка HTTP 404.0 маршрутизации URL-адресов ASP.NET 4.0 - не найдено

Я реализовал маршрутизацию URL-адресов в ASP .NET 4.0 с использованием следующего маршрута.

routes.MapPageRoute(
   "NewsDetails",               // Route name
   "news/{i}/{*n}",  // Route URL
   "~/newsdetails.aspx"      // Web page to handle route
    );

, который дает мне URL типа

http://www.mysie.com/news/1/this-is-test-news

, и это нормально работает на моем локальном хосте.

Но когда я загрузил его на сервер, он дает ...

Server Error

404 - File or directory not found.
The resource you are looking for might have been removed, had its name changed, 
or is temporarily unavailable.

Если я попробую http://www.mysie.com/news/1/this-is-test-news.aspx , затем отображается страница.

У кого-нибудь есть такая же проблема?

Как я могу установить URL http://www.mysie.com/news/1/this-is-test-news для работы на сервере Windows 2008?

12
задан SteveC 25 November 2012 в 15:26
поделиться

1 ответ

Включение маршрутизации ASP.Net 4.0 по умолчанию с IIS 7.5:

  1. Убедитесь, что вы установили функцию перенаправления HTTP Это можно сделать -> Панель управления -> Программы -> Отключить функции Windows -> Всемирные веб-службы -> Общие функции HTTP -> Перенаправление HTTP
  2. Измените свой web.config с помощью приведенного ниже кода.

<system.webServer>   
    <modules runAllManagedModulesForAllRequests="true">    
        <remove name="UrlRoutingModule"/>
        <add name="UrlRoutingModule" 
             type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>
    <handlers>
        <add name="UrlRoutingHandler" 
             preCondition="integratedMode" 
             verb="*" 
             path="UrlRouting.axd" 
             type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </handlers>
</system.webServer>

3. Создайте маршруты в вашем файле global.asax

Примечание. Вы должны установить для пула приложений значение Asp.net 4.0 application pool , поскольку маршрутизация не работает с Asp. net 4.0 Классический пул приложений.

Надеюсь, это поможет.

33
ответ дан 2 December 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: