Ich benutze N2Cms und bin in einigen Fragen, die ich mit ihm habe. Es hat eine Navigationsleiste auf der linken Seite, die über Ajax lädt, wenn Sie den Baum erweitern.500 Interner Server Fehler IIS7 Encoded URL
Der Code, der die Kinder des Knotens ruft, ruft eine Aschx-Datei mit einigen Parametern auf. Ein Parameter ist für einen Pfad und enthält Schrägstriche. Aus diesem Grund wurde es codiert.
.../cms/Content/Navigation/LoadTree.ashx?target=preview&selected=%252fhome%252fhelp-and-advice%252f
Ich habe keine Probleme mit diesem auf meinem Entwicklungsserver hatte (mit IIS 7.5), aber wenn sie auf unserem Testserver bereitgestellt (iis7) die Navigation nicht funktioniert.
Die Untersuchung hat gezeigt, dass die obige URL einen Fehler von 500 gibt.
Wenn ich die URL
.../cms/Content/Navigation/LoadTree.ashx?target=preview&selected=/home/help-and-advice/
dekodieren funktioniert es ohne Probleme.
Leider kann ich den Code, der dies erzeugt, nicht als Teil des n2cms-Quellcodes ändern, und ich gehe davon aus, dass er aus einem guten Grund codiert wurde.
Weiß jemand etwas, das ich entweder in meiner web.config tun kann, um codierte Parameter zu erlauben, oder etwas, das ich auf dem iis Server ändern kann?
BEARBEITEN Sie: So scheint dieser Link, dass dies tun dies absichtlich als eine Sicherheitsmaßnahme. http://msdn.microsoft.com/en-us/library/ee656542.aspx
Die vorgeschlagene Lösung ist ein Upgrade 4.0 auf .NET und die folgenden auf die web.config
<configuration>
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>
Leider scheint fügen diese keine Wirkung zu haben.
Irgendwelche Ideen, warum das nicht funktioniert?
URLScan scheint ein Addon zu sein. Ich glaube nicht, dass wir es installiert haben. Ich kann es in den Add Remove-Programmen oder den Windows-Features nicht gut machen. – sianabanana
Überprüfen Sie hier C: \ Windows \ System32 \ inetsrv \ urlscan oder hier C: \ Windows \ SysWOW64 \ inetsrv \ urlscan. Der Speicherort hängt davon ab, ob Sie 64 Bit ausführen. Wenn urlscan an einem dieser Orte vorhanden ist und ein "logs" -Unterverzeichnis vorhanden ist, führen Sie es aus. –
Wie gesagt, es ist nicht installiert. Diese Ordner sind nicht vorhanden und verweisen auch nicht auf URLscan in einer Datei oder einem Ordner auf dem Computer. – sianabanana