2016-05-03 14 views
0

Hier ist meine web.config Umleitung Regel:URL funktioniert Redirect auf localhost, aber nicht Server

<rewrite> 
    <rules> 
    <rule name="Redirect from old page"> 
     <match url="^oldpage.aspx" /> 
     <action type="Redirect" url="pages/newpage.aspx" appendQueryString="true" redirectType="Permanent" /> 
    </rule> 
    </rules> 
</rewrite> 

Auf localhost diese Umleitung Regel funktioniert gut.

Wenn ich die Konfigurationsdatei in IIS veröffentliche, scheint die Weiterleitungsregel die Webanwendung zu unterbrechen. Jede Seite, die ich versuche zu gehen, gibt einen Fehler von 500 zurück.

Hinweis: Die Webanwendung verwendet eine IP-Adresse anstelle des Domänennamens.

Beispiel: Ich möchte http://192.168.168.255:44/oldpage.aspx?queryString=parameter zu http://192.168.168.255:44/newpage.aspx?queryString=parameter umleiten, aber ich erhalte einen 500 Fehler. Auch wenn ich http://192.168.168.253 besuchen möchte, erhalte ich einen Fehler von 500.

IIS sagt:

Lösche das fehlerhafte XML-Element aus der Datei ApplicationHost.config oder aus der Datei Web.config.

Allerdings kann ich nicht identifizieren, was über diese Umleitungsregel fehlerhaft ist. Es funktioniert gut im localhost. Soll ich die vollständige IP-Adresse in den Knoten match url aufnehmen? Wenn ja, wie würde ich das formatieren?

Antwort

0

Sind Sie sicher, dass das IIS Rewrite-Modul auch auf dem Server installiert ist? Wenn nicht, erkennt IIS den Rewrite-Knoten nicht und gibt einen Fehler von 500 ein. http://www.iis.net/downloads/microsoft/url-rewrite

+0

dumm von mir angenommen, dass es auf allen Servern installiert wäre .. danke! – terbubbs