So schließen Sie ein Verzeichnis mit dem IIS URL-rewriting?
Habe ich eine domain.com/index.php und eine freundliche url-Regel umleiten domain.com/index.php?s=? Anfragen. Ich benutze IIS-webserver mit der URL-rewrite add-on.
Oben funktioniert einwandfrei. Allerdings gibt es ein problem mit Anfragen an das admin-Verzeichnis...
Ich auch haben domain.com/admin/cloud/index.php, die manchmal notwendig ist, zu erhalten oder senden von Daten (via Ajax). Wenn die Regel aktiv ist, werden die Daten nicht verfügbar, wenn ich das löschen der oben genannten Regel dann die Daten zur Verfügung stellen.
Wie kann ich über url-Regel und schließen Sie alle anderen Anfragen von innen (oder) domain.com/admin/.. ?
Dies ist meine aktuelle Regel-set:
<rule name="RedirectUserFriendlyURL1" stopProcessing="true">
<match url="^index\.php$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^s=([^=&]+)$" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?s={R:1}" />
</rule>
Ich habe versucht, viele Möglichkeiten, einschließlich Pfad info... aber ohne Erfolg. Vielleicht kann mir jemand einen Tipp geben?
Dank!
Gute Frage. Ich habe keine Ahnung. Es scheint, dass der IIS oder die URL-rewrite-Modul vermasselt Anfragen. Ich habe jetzt teilen Sie die Regeln: 1) prüfen Sie, ob es enthält "cloud" und 2) überprüfen, ob es zu umschreiben index.php (also von friendly url interne url). Die erste Regel beendet die Verarbeitung, wenn der Scheck gültig ist (in diesem Fall die zweite Regel ist nicht nesassary)... aus irgendeinem Grund die erste Prüfung ist nicht die Lösung zur Umgehung des Problems. [..]
[..] Nur die zweite Regel, die friendly url funktioniert, aber nicht der admin Teil. Mit nur, die erste Regel der admin-Bereich funktioniert, aber nicht der freundliche url-Teil. Manchmal, es funktioniert... aber nach ein paar Minuten oder Stunden wird die Lösung mit zwei getrennt Regeln funktioniert nicht mehr. Ich weiß nicht, wo Sie die "echten problem".
InformationsquelleAutor Arjen | 2013-12-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Blick hier könnte man hinzufügen, diese Regel so, wenn eine Anforderung, die Sie nicht wollen, um Prozess kommt, können Sie diese ignorieren und die Verarbeitung stoppen.
Es sollten zuerst platziert werden, so dass diese Regel wird ausgeführt, bevor die anderen beiden.
Es funktioniert nicht auf meinem asp.net mvc-Anwendung
Diese Regeln angewendet werden, bevor die Anforderung trifft den ASP.NET Motor, damit sollte es funktionieren. Überlegen, eine Frage stellen und hier den link setzen, so dass ich einen Blick darauf werfen kann.
Ich habe gerade herausgefunden. Ich hatte zu ändern, action-Typ zu CustomResponse <action type="CustomResponse" statusCode="403" statusReason="Verboten: Zugriff verweigert." statusDescription="Sie haben keine Berechtigung zum anzeigen dieses Verzeichnis oder Seite mit den Anmeldeinformationen, die Sie angegeben haben." />
InformationsquelleAutor Tasos K.