Seite 1 von 1

subdomain into verzeichnis via mod-rewrite

Verfasst: 10.06.2007, 22:00
von unilounge
Hallo, hab folgende Situation: Ich möchte mehrere Subdomains anlegen wo auch mehrere dateien liegen können, allerdings nicht für jeden einen eigenen vhost anlegen müssen, daher wollt ich fragen ob das via mod-rewrite geht...

hab bissal rumgespielt aber hat leider noch nix gefunzt.

folgender Ablauf:

www.domain.com zeigt auf /domainroot/, dadrinnen sind dann auch viele ordner

wenn jetzt jemand eingibt sub1.domain.com, dann soll er auf /domainroot/sub1/ verwiesen werden, allerdings per mod-rewrite und kein 301/302, sondern es soll die url weiterhin sub1.domain.com bleiben

das ganze soll jetzt noch ein stück komplizierter werden
https://sub1.domain.com/v1/d2.php soll auch so funzen, dass auf die datei liegend in /domainroot/sub1/v1/d2.php zugegriffen wird..

wollt fragen inwieweit das funktionieren kann und vor allem wie...

danke

Verfasst:
von

Verfasst: 10.06.2007, 22:28
von chris21

Code: Alles auswählen

RewriteEngine on
# Rewrite <subdomain>.example.com/<path> to example.com/<subdomain>/<path>
#
# Skip rewrite if no hostname or if subdomain is www
RewriteCond %&#123;HTTP_HOST&#125; ^unilounge\.at$
RewriteRule ^&#40;.*&#41;$ http&#58;//www.unilounge.at/$1 &#91;L,R=301&#93;
RewriteCond %&#123;HTTP_HOST&#125; ^www\.&#40;&#91;^.&#93;+&#41;\.unilounge\.at$
RewriteRule ^&#40;.*&#41;$ http&#58;//%1.unilounge.at/$1 &#91;L,R=301&#93;
RewriteCond %&#123;HTTP_HOST&#125; .
RewriteCond %&#123;HTTP_HOST&#125; !^www\. &#91;NC&#93;
# Extract &#40;required&#41; subdomain &#40;%1&#41;, and first path element &#40;%3&#41;, discard port number if present &#40;%2&#41;
RewriteCond %&#123;HTTP_HOST&#125;<>%&#123;REQUEST_URI&#125; ^www\.&#40;&#91;^.&#93;+&#41;\.unilounge\.at&#40;&#58;80&#41;?<>/&#40;&#91;^/&#93;*&#41; &#91;OR&#93;
RewriteCond %&#123;HTTP_HOST&#125;<>%&#123;REQUEST_URI&#125; ^&#40;&#91;^.&#93;+&#41;\.unilounge\.at&#40;&#58;80&#41;?<>/&#40;&#91;^/&#93;*&#41; &#91;NC&#93;
# Rewrite only when subdomain not equal to first path element &#40;prevents mod_rewrite recursion&#41;
RewriteCond %1<>%3 !^&#40;.*&#41;<>\1$ &#91;NC&#93;
# Rewrite to /subdomain/path
RewriteRule ^&#40;.*&#41; /%1/$1 &#91;L&#93; 

Der Code kommt ursprünglich vom Webmasterworld.com Forum, ich hatte da noch irgendwas mit reingefuchst (sprich Zeile 7 & 8 ), damit die Subdomains jeweils Standarddomains werden, also damit www.sub.domain.com nicht möglich ist und auf sub.domain.com gelenkt wird.

Dann muss man noch darauf achten, dass www.domain.com/sub/ jeweils nicht direkt erreichbar ist...

Verfasst: 11.06.2007, 01:02
von unilounge
wow.. großartig.. danke für die rasche hilfe, werd das gleich mal ausprobieren...

bezüglich des nicht direkt erreichbar seins via www.domain/subdomain wird wohl eine einfache weiterleitung direkt in den betreffenden files reichen, die dann bei etwaigen zugriffen die mit /subdomain kommen einfach eine 301 weiterleitung schaltet :)

danke erstmal, werd das heut noch ausprobieren :)