Subdomeny za pomocą .htaccess (serwer Apache)

Wiele firm hostingowych nie daje możliwości zakładania subdomeny dla domeny właściwej. Jest to bardzo uciążliwe, szczególnie gdy chcemy stworzyć kilka serwisów WWW w jednej domenie. Można to jednak rozwiązać poprzez odpowiedni plik .htaccess na naszym koncie WWW stojącym na serwerze Apache. .htaccess to domyślna nazwa pliku konfiguracyjnego serwera Apache umożliwiającego zmianę konfiguracji dla konkretnego katalogu.

Przykład:

Posiadamy domenę www.domena.com i chcemy utworzyć subdomenę www.subdomena.domena.com. W katalogu naszego konta (tam gdzie znajdują się pliki strony www.domena.com) tworzymy katalog /subdomena. Następnie tworzymy (lub edytujemy jeśli już jest) plik .htaccess (w katalogu głownym) a w nim zapisujemy regułę:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} subdomena.domena.com
RewriteCond %{REQUEST_URI} !subdomena/
RewriteRule ^(.*)$ subdomena/$1 [L]

W ten sposób uzyskujemy subdomenę www.subdomena.domena.com oraz subdomena.domena.com (bez www na początku).

Aby utworzyć więcej niż jedną subdomenę, można skopiować regułę wielokrotnie:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /

RewriteCond %{HTTP_HOST} subdomena1.domena.com
RewriteCond %{REQUEST_URI} !subdomena1/
RewriteRule ^(.*)$ subdomena1/$1 [L]

RewriteCond %{HTTP_HOST} subdomena2.domena.com
RewriteCond %{REQUEST_URI} !subdomena2/
RewriteRule ^(.*)$ subdomena2/$1 [L]

Otrzymamy wówczas dwie subdomeny www.subdomena1.domena.com oraz www.subdomena2.domena.com przypisane odpowiednio do katalogów /subdomena1 i /subdomena2.