ASP.NET 4.0 Url Routing Błąd HTTP 404.0-nie znaleziono

Zaimplementowałem routing URL w ASP.NET 4.0 korzystanie z następującej trasy.

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

Co daje mi url jak

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

I to działa w moim localhost grzywny.

Ale jak wgrałem go na serwer to daje ...

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.

If I try http://www.mysie.com/news/1/this-is-test-news.aspx następnie wyświetla stronę.

Czy ktoś ma ten sam problem?

Jak mogę ustawić URL http://www.mysie.com/news/1/this-is-test-news do pracy nad windows server 2008 ?

Author: SteveC, 2010-08-19

3 answers

Aby włączyć domyślną ASP.Net 4.0 routing z IIS 7.5:

  1. Upewnij się, że masz zainstalowaną funkcję przekierowania HTTP Można to zrobić - > Panel sterowania -> Progams -> wyłącz funkcje systemu windows -> World wide web Services -> wspólne funkcje HTTP - > przekierowanie HTTP
  2. zmodyfikuj swoje web.config z poniższym kodem

 

<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. Tworzenie tras w pliku global.asax

Uwaga: Należy ustawić pulę aplikacji na Asp.net 4, 0 pula aplikacji , ponieważ routing nie działa z Asp.net 4.0 Klasyczna pula aplikacji.

Mam nadzieję, że to pomoże.
 33
Author: Pragnesh Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-25 11:44:14

Przeczytałam wszystkie twoje przepisy, ale moja strona ( ASP.NET 4.0 + VS2010 + Cassini) nadal nie było routingu poprawnie.

Wirtualna ścieżka dla mojej strony to "nazwa firmy.Nazwa aplikacji.Www". Zmieniłem ten wirtualny na "My ApplicationName" i voila!

Zmień konfigurację ścieżki wirtualnej Cassini:

  • wirtualna ścieżka Cassiniego - > Ctrl + W, P or;
  • kliknij prawym przyciskiem myszy witrynę internetową i "okno Właściwości".
 1
Author: Fergara,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-07 17:13:03

Moje rozwiązanie, po wypróbowaniu wszystkiego:

Złe wdrożenie, stara wstępnie skompilowana aplikacja.config kręcił się wokół mojej lokalizacji wdrożenia i sprawiał, że wszystko nie działało.

Moje ostatnie ustawienia, które zadziałały:

 1
Author: Andrew Arace,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-17 15:40:45