Underdomæner på en smart måde
En nem måde at lave underdomæner på er ved at have wildcard-DNS. Dette opnår man typisk ved at lave et CNAME hvor *.foo.dk peget på hoveddomænet foo.dk.
Når folk ser foo.dk eller www.foo.dk leverer serveren typisk index.php; men forestil jer, at man vil have serveren til at vise domain.php med ‘bar‘ som argument, hvis brugeren fx kalder bar.foo.dk.
Det kan forholdsvist nemt løses vha. følgende i ens .htaccess.
1 2 3 4 | RewriteEngine On RewriteCond %{HTTP_HOST} !^(www\.)?foo\.dk$ RewriteRule .* %{HTTP_HOST} [C] RewriteRule ^([^.]+) domain.php?host=$1 [L] |
Jeg omskriver kun hvis HTTP_HOST ikke er foo.dk eller www.foo.dk, og jeg omskriver http://bar.foo.dk/ til http://bar.foo.dk/bar.foo.dk for derefter at pille underdomænet ud, og vise domain.php?host=bar.
Bemærk at omskrivningen sker internt, så adresselinien ændrer sig ikke.
Det burde derefter være trivielt at lave nogle checks i domain.php på $_GET['host'].
Tricket i ovenstående ligger i at kæde de to rewrite-regler sammen vha. [C] der står for chain.

Jeg hedder Morten, og jeg har udviklet webapplikationer siden slutningen af 90'erne.