Ich möchte, dass eine Website immer www in der Adresse hat, und erzwinge sie durch IIS Neufassung.
Zum Beispiel würde test.com zu www.test.com.
Die typische Regel für das erneute Schreiben lautet:
%Vor%Dies erfordert jedoch, dass ich die vollständige URL meiner Website eintrage. Es funktioniert nicht für Entwicklungs- und Staging-Umgebungen mit URLs wie www.test.dev und www.test.stage.
Ist es möglich, eine IIS Rewrite-Regel zu erstellen, die alle diese Fälle behandelt?
Sie haben Recht, dass die vollständige URL in der web.config sein muss. Sie haben jedoch Optionen.
Sie können eine config-Transformation verwenden, damit der reguläre Ausdruck der richtigen Umgebung entspricht.
Es scheint keinen Schaden zu verursachen, wenn Sie alle drei Regeln zum Umschreiben von URLs in Ihre web.config aufnehmen. Es klingt wie Ihre Umgebungen sind isoliert, so dass jede Umgebung nur eine der Regeln entsprechen würde. Das kann Ihre web.config überladen, aber nicht fürchterlich.
Ich würde mit Option 1 gehen. Informationen zu Konfigurationsumwandlungen finden Sie hier: Ссылка
Ich würde Ihnen auch eine andere Variante zum Testen in einer lokalen Umgebung vorschlagen:
127.0.0.1 www.example.com
Wählen Sie im IIS-Manager die Site aus und klicken Sie mit der rechten Maustaste - & gt; Bindungen bearbeiten .. - & gt; Hinzufügen ..
Geben Sie den Hostnamen ein: www.example.com
Öffnen Sie cmd und führen Sie iisreset
Jetzt können Sie www.example.com im Browser verwenden, der localhost
zugeordnet ist Es wird als gute Praxis angesehen, im Hinblick auf Suchmaschinen und Site-Traffic-Analysen immer von der nackten Domain wie mydomain.com
auf die kanonische Domain www.mydomain.com
umzuleiten. Diese Umleitung sollte vom Web-Server durchgeführt werden, noch bevor der Code und der Inhalt der Site erreicht werden. Um IIS bedingungslos umleiten zu können, benötigen Sie:
Sie müssen beide für HTTP- und HTTPS-Anfragen umleiten. Es gibt eine klare und komplexe Lösung HIER .
Tags und Links iis-7.5 iis url-rewriting rewrite