Ich habe eine Rewrite-Map mit einer Liste von Domains, die umgeleitet werden sollen. Zurzeit muss ich www.foo.com und foo.com in der Neuschreibkarte auflisten. Ich habe mich gefragt, ob es eine Möglichkeit gäbe, die Wiederbeschreibungs-Prüfung für www und nicht-www in der gleichen Zeile durchzuführen.
%Vor%Ich habe versucht, Dinge wie (www.)% {HTTP_HOST} oder ^ (www.)% {HTTP_HOST} zu tun, aber kein Glück.
Das sollte es tun:
%Vor% Das erste RewriteCond
entfernt das optionale Präfix www.
. Der Rest wird dann als Parameter für die Neuschreibmaske in der zweiten RewriteCond
verwendet.
Eine Plain Text Rewrite Map gibt eine leere Zeichenfolge zurück, wenn keine Übereinstimmung gefunden wird:
Wenn der Schlüssel gefunden wird, wird das map-function-Konstrukt durch SubstValue ersetzt. Wenn der Schlüssel nicht gefunden wird, wird er durch DefaultValue oder durch die leere Zeichenfolge ersetzt, wenn kein DefaultValue angegeben wurde.
Wenn also die zweite Bedingung erfüllt ist (beachte ^(.+)$
), wurde eine Übereinstimmung gefunden und %1
enthält den SubstValue (in diesem Fall file.php
).
Tags und Links regex apache mod-rewrite rewritemap