Ich habe eine Domain/index.php und eine freundliche URL-Regel, um domain.com/index.php?s= umzuleiten? Anfragen. Ich benutze den IIS Webserver mit dem URL Rewrite Add-On.Wie kann ein Verzeichnis mit IIS-URL-Umschreibung ausgeschlossen werden?
Oben funktioniert gut. Es gibt jedoch ein Problem mit Anfragen an das Admin-Verzeichnis ...
Ich habe auch domain.com/admin/cloud/index.php, die manchmal benötigt wird, um Daten zu erhalten oder zu senden (über Ajax). Wenn die Regel aktiv ist, sind die Daten nicht verfügbar. Wenn ich die obige Regel lösche, sind die Daten verfügbar.
Wie kann ich die obige URL-Regel verwenden und alle anderen Anfragen innerhalb (oder unter) domain.com/admin/ .. ausschließen?
Dies ist mein aktueller Regelsatz:
<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 viele Möglichkeiten ausprobiert, darunter Weg info ... aber ohne Erfolg. Vielleicht kann jemand einen Hinweis geben?
Danke!
Hallo, Sie geben hier zwei Regeln an. Welche Regel verletzt die Anfrage /admin/cloud/index.php? –
Gute Frage. Ich habe keine Ahnung. Es scheint, dass IIS oder das URL-Rewrite-Modul Anfragen durcheinander bringt. Ich habe jetzt die Regeln aufgeteilt: 1) überprüfe, ob es "cloud" enthält und 2) ob es in index.php (also von freundlicher URL zu interner URL) umgeschrieben werden muss. Die erste Regel stoppt die Verarbeitung, wenn die Prüfung gültig ist (in diesem Fall ist die zweite Regel nicht notwendig) ... Aus irgendeinem Grund ist die erste Prüfung nicht die Lösung, um das Problem zu umgehen. [..] – Arjen
[..] Mit nur der zweiten Regel funktioniert die freundliche URL, aber nicht der Admin-Teil. Mit nur der ersten Regel funktioniert der Admin-Bereich, aber nicht der freundliche URL-Teil. Manchmal funktioniert es ... aber nach ein paar Minuten oder Stunden funktioniert die Lösung mit zwei getrennten Regeln nicht mehr. Ich weiß nicht, wo ich das "echte Problem" finde. – Arjen