2017-10-10 2 views
4

Ich habe einen neuen Server mit Server 2012 R2 und IIS eingerichtet und eine Anwendung auf einer neuen Site veröffentlicht. Wenn ich die Anwendung in meiner Entwicklungsumgebung ausführe, wird die ASPX-Dateierweiterung in der URL angezeigt. Wenn ich jedoch eine veröffentlichte Instanz auf dem IIS-Server durchsuche, wird die Erweiterung .aspx entfernt.Fehlende .aspx in URL in IIS 8

Also irgendwie hat es eine Art URL-Rewriting aus der Box aktiviert - wie ändere ich dies, wie ich es brauche, um mit der Entwicklungsversion konsistent zu sein. Ich habe die URL-Rewrite-Erweiterung installiert, um zu sehen, ob irgendwie Regeln konfiguriert wurden, aber keine Regeln definiert sind.

Danke!

<?xml version="1.0"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="examplePage.aspx Redirect" stopProcessing="true"> 
        <match url="^(.*\/)*examplePage\.aspx$" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" /> 
        </conditions> 
        <action type="Redirect" url="{R:1}" redirectType="Permanent"/> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

Hoffnung, dass funktionieren sollte:

+0

Vielleicht haben Sie eine URL-Rewrite in Ihrer Release-Konfigurationsdatei, zum Beispiel Web.Release.config und nicht in Ihrer Debug-Konfiguration? – krlzlx

+0

@krlzlx Angst nicht, aber danke für die Idee – ebooyens

Antwort

0

Der Grund, warum dies ein Problem für uns war, dass wir ein Menüsystem entwickelten, das zeigte, welche Seite aktiv war, indem Sie den entsprechenden Menüeintrag anhand des Seitennamens aus der aktuellen Seiten-URL hervorhoben. Am Ende haben wir unseren Code geändert, um nach ".contains" ("Seitenname") ohne ASPX zu suchen, anstatt den vollständigen Seitennamen einschließlich der Erweiterung auszuwerten. Das funktioniert gut und wir konnten nicht herausfinden, was die URL verursacht, umgeschrieben zu werden. Keine der obigen Antworten hat mir geholfen, das Problem zu identifizieren, fürchte ich.

+0

Sie haben immer noch die Erweiterung .aspx fehlt? Ihre Lösung, die Sie validiert haben, ist eine Umgehung, löst jedoch nicht das Problem, dass die Erweiterung nicht angezeigt wird. – krlzlx

0

Sie können Ihre Datei web.config mit Rewrite-Regel (examplePage.aspx) wie folgt konfiguriert werden!

+0

Hallo @ Asif.Ali soll das die ASPX wieder auf die URL hinzufügen? Ich habe es in der web.config der Anwendung hinzugefügt, sehe aber keinen Unterschied. Danke – ebooyens

0

Ich habe dieses Verhalten beim Erstellen einer bestimmten Art von Web-Projekt in Entwicklung gesehen. Es könnte also etwas installiert sein, das sich störend auswirkt. Ich nehme an, du hast die web.config schon für irgendwas angeschaut, aber wenn es nicht dort ist, probiere die machine.config. Schauen Sie auch in IIS selbst nach, was installiert wird, wenn Sie auf die Stammebene (die über der Website) klicken.

+0

Dies geschieht auf unserem Produktionsserver, auf dem Entwicklungsserver funktioniert es wie gewohnt - das ASPX-Suffix ist da, aber nicht auf dem Produktionsserver. Ich kann auf dem Produktionsserver keine benutzerdefinierte Installation oder Konfiguration finden, es war eine Neuinstallation. – ebooyens