Frage

Wir haben einen Kunden, der viele Filialen in Großbritannien hat. Einige ihrer Filialen haben ihre eigenen Websites mit ihrem eigenen Domain-Namen. Der Kunde hat einen Teil gebaut System, in dem Besuch:

www.client.com/aboutus.php?id=branchId

zeigt die Über uns Seite für diesen bestimmten Zweig. Was ich brauche, ist eine Möglichkeit, bestimmte Domänen ihre branchId abzubilden (dies alles in einem DB in dem Moment gespeichert wird), so dass

www.client.com/aboutus.php?id=4

Karten

www.branchid4.com/aboutus.php
War es hilfreich?

Lösung

Das funktioniert für mich. Nicht sicher, ob Ihre Domains mit einem einzigen allgemeinen ruleset arbeiten können (dh. Die ID greift und dann verwenden, in der RewriteRule), sonst müssen Sie die letzten drei Zeilen pro URL wiederholen

Options +FollowSymLinks 
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?client.com$
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /aboutus\.php\?id=4\ HTTP/
RewriteRule ^.*$ http://www.branchid4.com/about.php? [R=301,L]

Andere Tipps

Sie können die entscheidende Rolle übernehmen aus dem Host-Namen und geben sie an das Skript:

RewriteEngine on
RewriteCond %{QUERY_STRING} !(^|&)branchName=
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.com$
RewriteRule .* $0?branchName=%1 [L,QSA]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top