Ich versuche eine ASP .NET MVC 2 App zu konvertieren, die auf nginx / mono 2.8 läuft. Bisher scheint es ziemlich gut zu funktionieren, außer dass die Standardroute nicht funktioniert, wenn der Pfad leer ist. Ich vertrete alle Anfragen an den fastcgi-Server und ich bekomme eine ASP.NET 404 nicht gefunden Seite.
d. Dies funktioniert nicht
%Vor%Aber das tut
%Vor%Meine Global.asax.cs-Datei sieht wie folgt aus
%Vor%BEARBEITEN: Noch ein paar Infos zu meinem Setup. Ich verwende OS X 10.6, wenn das einen Unterschied macht. Das gleiche Problem besteht auch für die Standardroute von Bereichen im MVC-Projekt.
Ich hatte tatsächlich das gleiche Problem und löste es (zumindest in meiner Situation) durch einen kompletten Fehler ...
In der nginx Walkthrough auf der Website des Monoprojekts heißt es, diese Zeilen in Ihre nginx.conf-Datei einzugeben:
%Vor%Nun, ich habe das auf genau die gleiche Weise (oder so dachte ich) auf zwei VMs eingerichtet. Das Problem ist, dass eine VM ihre Root-URL funktionierte und eine nicht. Es stellte sich heraus, dass ich das Semikolon in der 'index'-Zeile der funktionierenden VM vergessen hatte, so dass die Zeile' fastcgi_index 'als Teil der' index'-Zeile interpretiert wurde.
Also auf der VM, die nicht funktionierte, entfernte ich dieses Semikolon. Und rate was? Es funktionierte. Also habe ich das Semikolon hinzugefügt und die Zeile 'fastcgi_index' komplett entfernt und es funktionierte immer noch. Aufgrund dieser anekdotischen Beweise und einiger Ratespiele würde ich sagen, dass die 'fastcgi_index'-Zeile nicht in MVC-Anwendungen enthalten sein sollte. Nun, zumindest MVC 3, habe ich noch nichts getestet.
Hast du die nginx-Konfiguration von dieser Seite aus verfolgt ?: Ссылка
Meine Vermutung wäre, dass das Standarddokument in die Quere kommt.
Tags und Links nginx asp.net-mvc-2 routing mono