Subdomains mit mod_rewrite

Warning: This page is a part of an archive now and will be removed in the future.

Mit folgendem Code kann man beliebig viele Subdomains anlegen:

Source Code

  1. RewriteEngine on
  2. # Skip rewrite if no hostname
  3. RewriteCond %{HTTP_HOST} ^domain\.tld$
  4. RewriteRule ^(.*)$ http://www.domain.tld/$1 [L,R=301]
  5. # Extract (required) subdomain (%1), and first path element (%3), discard port number if present (%2)
  6. RewriteCond %{HTTP_HOST}<>%{REQUEST_URI} ^www\.([^.]+)\.domain\.tld(:80)?<>/([^/]*) [OR]
  7. RewriteCond %{HTTP_HOST}<>%{REQUEST_URI} ^([^.]+)\.domain\.tld(:80)?<>/([^/]*) [NC]
  8. # Rewrite only when subdomain not equal to first path element (prevents mod_rewrite recursion)
  9. RewriteCond %1<>%3 !^(.*)<>\1$ [NC]
  10. # Rewrite to /subdomain/path
  11. RewriteRule ^(.*) /%1/$1 [L]
Display All
Hierbei wird jedes Unterverzeichnis, z.B. also domain.tld/sub in http://www.sub.domain.tld umgewandelt. Außnahmen kann man durch einen einfachen zusätzlichen Code nach Zeile 4 festlegen:

Source Code

  1. # only this subdomains works
  2. RewriteCond %{HTTP_HOST} ^www.(sub1|sub3|sub5).* [NC]
Nun werden nur die drei Domains domain.tld/sub1, domain.tld/sub3 und domain.tld/sub5 in ihre jeweilige Subdomain umgewandelt. Alle anderen Unterordner bleiben in ihrer normalen Struktur.
About the Author
Ich bin Webentwickler in Stuttgart und administriere Server seit vielen Jahren. In diesem Blog erstelle ich hauptsächlich Tutorials für andere Webentwickler, Webdesigner und Serveradministratoren.
-------------------------------------------------------------------------------------------------------------------------------------
I’m a web developer in Stuttgart, Germany, and server administrator since many years. This blog mainly contains a tutorial set for other web developer, web designer and server administrators.

170 times read

Comments 2

  • Black Rider -

    Über vHosts musst du jedoch die Subdomains erst einmal wirklich anlegen, per mod_rewrite brauchst du das nicht.

  • Slyx -

    ich erstell dafür immernoch lieber vhosts :)
    Aber die Möglichkeit da kannte ich noch garnicht... auchmal interessant zu kennen!

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.