Я реализовал маршрутизацию 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?
Включение маршрутизации ASP.Net 4.0 по умолчанию с IIS 7.5:
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 Классический пул приложений.
Надеюсь, это поможет.