Ich habe ein Standard-LAMP-Setup und ich versuche, Subdomains automatisch zu machen, solange der entsprechend benannte Ordner existiert.
Wenn Sie mit dem GridServer-Shared-Hosting-Service von MediaTemple vertraut sind, versuche ich, die Art und Weise zu emulieren, wie Wildcard-Subdomains gehandhabt werden:
- Wenn subdomain.domain.com angefordert wird, suchen Sie nach einem Ordner namens subdomain.domain.com
- Wenn der Ordner gefunden wird, rufen Sie ihn home auf und rufen die darin befindliche Website auf, wobei alle .htaccess-Dateien befolgt werden, die sich dort befinden.
- Wenn kein Ordner gefunden wird, wird einfach domain.com angezeigt.
Mir wurde gesagt, dass eine .htaccess mod_rewrite in meiner Root-Domain der richtige Weg ist, und ich konnte Subdomains erkennen und zumindest auf den entsprechenden Unterordner verweisen, aber ich glaube nicht, dass dies eine Möglichkeit für die eigene mod_rewrite der .htaccess-Datei subdomain.domain.com lässt, um zu übernehmen, sobald der Server weiß, wo sich der Ordner der Subdomain befindet.
Hier ist meine .htaccess für diesen Zweck:
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]+)\.domain.com$
RewriteRule ^(.+) /vhosts/%1.domain.com/html/pages/$1.php [L,QSA]
...und meine Ordnerstruktur:
domain.com
html
.htaccess
vhosts
subdomain.domain.com
html
.htaccess
pages
index.php
pagename.php
Wie Sie also sehen, ist die Site innerhalb von subdomain.domain.com auf ihr eigenes mod_rewrite angewiesen, um zu funktionieren, da die Seitendateien nicht dort liegen, wo der Server sie erwartet.
Ich weiß, dass ich die .htaccess-Regeln der Subdomain wahrscheinlich in die .htaccess meiner Root-Domain mit den entsprechenden Bedingungen einfügen könnte, aber der Knackpunkt ist, dass ich in der Lage sein muss, auch völlig andere Domainnamen auf diese Subdomains zu verweisen (die Subdomain ist also über subdomain.domain.com und mydomain.com erreichbar), so dass diese subdomain.domain.com-Ordner völlig autark sein müssen.
Wie kann ich also meinen Server dazu bringen, am richtigen Ort nach dem Ordner einer Subdomain zu suchen, während ich gleichzeitig seine eigenen .htaccess mod_rewrites arbeiten lasse?
Jede Hilfe ist sehr willkommen!
Gerade hat mir jemand gesagt, dass mod_rewrites der falsche Weg ist und mod_vhs das ist, was ich verwenden möchte. Weiß jemand etwas über mod_vhs?