2012-03-29 7 views
1

Ich muss durch eine Liste von Seiten passieren zu zeigen, um sie von Sub-Domain kommtUmschreiben URL für Sub-Domain-Umleitung

Wenn ein Benutzer diese URL in den Browser eingibt

xyz .mydomain.com/

sollte es aber als

www.mydomain.com/level1/pageA übergeben werden? Subdomain = xyz

und

xyz .mydomain.com/innerpage_abc? Param1 = 123

als

www.mydomain.com/level1/ innerpage? Dynamicparam = abc & param1 = 123 & subdomain = xyz

+0

Wird es in Ordnung sein, dass die URL im Browser wird 'www.mydomain.com/level1/...'? – anubhava

+0

Nein, die Subdomain-URL sollte beim Umschreiben nicht im Browser geändert werden – Rohit

+0

In diesem Fall muss mod_proxy aktiviert sein. Beide Domains verweisen auf den gleichen DOCUMENT_ROOT und den gleichen Apache Webserver, oder? – anubhava

Antwort

0

Aktivieren Sie mod_rewrite und mod_proxy. Dann setzen Sie diesen Code in .htaccess unter DOCUMENT_ROOT:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(xyz)\.mydomain\.com$ [NC] 
RewriteRule ^$ http://www.mydomain.com/level1/pageA?subdomain=%1 [L,P,QSA] 

RewriteCond %{HTTP_HOST} ^(xyz)\.mydomain\.com$ [NC] 
RewriteCond %{QUERY_STRING} (?:^|&)param1=([^&]+) [NC] 
RewriteRule ^([^_]+)_([^/]+)/?$ http://www.mydomain.com/level1/$1?dynamicparam=$2&subdomain=%1 [NC,L,P,QSA] 
+0

Dank anubhava, ich werde zurück zu dir morgen, wenn ich es auf Domain implementieren – Rohit

+0

gibt es ein Problem in der zweiten Umschreibung, ändert sich die URL von 'xyz.mydomain .com/innerpage ... 'zu' http: //www.mydomain.com/level1/ ... 'auf dem Browser – Rohit

+0

Nun, wie Sie sehen können' P' (für Proxy) Flag gibt es in beiden Regeln so sie sollten sich beide gleich verhalten. Geht es Ihnen zuerst gut? – anubhava