Webhosting – subdomény

  htaccess, Nastavení, Webhosting

Na webhostingu je možné vytvářet subdomény a pro každou subdoménu vytvořit vlastní obsah. Stačí přes FTP ve vašem webu vytvořit podadresář v adresáři www/subdom.

Např. máme-li webhosting pro doménu example.com a chceme vytvořit subdoménu karel.example.com, založte přes FTP adresář www/subdom/karel a do takto vzniklého adresáře nahrajte soubory, které se mají zobrazovat na adrese http://karel.example.com/ (bude to fungovat též pro www.karel.example.com).

Taktéž se ujistěte, že u domény v DNS máte odpovídající A záznam směřující na příslušný webhostingový server – buď pro konkrétní subdoménu nebo pro všechny (hvězdičkový záznam).

Dále si přečtěte:

Různé subdomény pro různé aliasy

Pokud u webhostingu používáte současně aliasy a subdomény a vytvoříte např. adresář www/subdom/example, pak tím vytvoříte společnou subdoménu example pro všechny aliasy. To může být nežádoucí.

Chcete-li mít pro různé aliasy různé domény (např. example.alias1.cz má být jiný web než example.alias2.cz), pak vytvořte takto pojmenované podadresáře v www/domains, tedy v tomto příkladu www/domains/example.alias1.cz a www/domains/example.alias2.cz.

Obsah neexistujících subdomén

Pokud někdo přistoupí na adresu subdomény, která nemá na vašem webu vytvořený příslušný adresář, zobrazí se návštěvníkovi obsah adresáře www, tedy hlavní domény. Pokud je toto nežádoucí, lze použít snadný trik – přesuňte web hlavní domény z adresáře www do podadresáře www/domains/nazev-hlavni-domeny.cz – tedy pro hlavní doménu udelějte adresář jako kdyby to byl alias. Poté budou neexistující subdomény nadále končit v adresáři www, ale tam buď nebude nic nebo tam můžete dát stránku s informací o neexistující subdoméně nebo přesměrování apod.

V adresáři www však vždy ponechte námi připravený soubor .htaccess, jinak žádné weby fungovat nebudou.

Soubor htaccess

Subdomény jsou dělány pomocí pravidel, která jsou v souboru .htaccess ve vašem webu. Pokud chcete používání subdomén zrušit, soubor smažte.

Následující soubor .htaccess vytvářet ani řešit nemusíte, ten je již ve vašem webhostingu připraven. Pro jeho použití stačí jen vytvořit potřebný adresář dle návodu výše.

Pravidla pro subdomény v souboru .htaccess jsou následující:

RewriteEngine On

# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# aliasy - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]

Tento kód řeší současně i vytvoření samostatného webu pro aliasy.

Byl pro Vás tento návod užitečný?