Ich habe die Top 30 Google-Treffer für verschiedene Kombinationen von IIS rewrite map condition
und so weiter gelesen, aber ich kann keine anständige Dokumentation finden, weder auf einer Microsoft.com-Website noch an anderer Stelle.
Ich habe in IIS7 eine Reihe von Neuschreibmaps, die ich unabhängig davon, ob ihnen ein Schrägstrich folgt, bearbeiten möchte. Also sollten www.foo.com/bar
und www.foo.com/bar/
beide der Regel entsprechen.
Nun funktioniert das perfekt, außer dass die einzige Möglichkeit, /terms/
mit dem ersten Schlüssel in der Neuschreibe-Map zu vergleichen, darin besteht, die Map zu duplizieren, so dass sie lautet:
Das erscheint lächerlich unelegant, da ich reguläre Ausdrücke benutze, um sie an erster Stelle zu finden. Das Hinzufügen von /?
zur Bedingungseingabe oder zum Bedingungsmuster scheint nicht zu funktionieren.
Ich habe die Antwort zu IIS7 Rewrite Map Regex? , das reguläre Ausdrücke erwähnt, kann nicht verwendet werden (Zitat aus Verwenden von Karten im URL-Rewrite-Modul umschreiben ), aber, wie ich bereits erwähnt habe, scheint sich dies auf die spezifischen Beispiele zu beziehen, die vor diesem Text angegeben wurden, und nicht auf" kann nie funktionieren ".
Was vermisse ich? Es muss ein Mittel geben, dies zu tun; vermisse ich etwas offensichtlich?
Das sollte es tun:
%Vor% Du warst ziemlich nah dran. Ich musste nur drei kleine Änderungen vornehmen:+?
in der Übereinstimmung der Regel verwendet {R:1}
in der Konditionseingabe Ich teile Ihre Erfahrung mit Schwierigkeiten bei der Suche nach anständiger Dokumentation; Ich musste mich mit Hilfe der folgenden Artikel durchprobieren:
Erstens, verwende keinen Punkt, es passt zu allem und ist natürlich gierig. Verwenden Sie stattdessen die Zeichen-Negation: ([^\n]+)
.
Versuchen Sie es, führen Sie es erneut aus, und wenn das nicht funktioniert, fügen Sie /?
erneut dem Attribut pattern
hinzu.
Tags und Links regex iis-7 url-rewrite-module rewritemap