Webhosting – subdomeny

  htaccess, Ustawienia, Webhosting

Na webhostingu możesz tworzyć subdomeny, które będą zawierały różne treści. W tym celu utwórz na webhostingu odpowiednie podkatalogi w katalogu www/subdom.

Plik .htaccess

Subdomeny działają wg reguł określonych w pliku .htaccess, który jest dostępny na Twoim webhostingu.

Nie musisz tworzyć pliku .htaccess. Jest on już dostępny na Twoim webhostingu. Aby z niego skorzystać, wystarczy utworzyć odpowiedni katalog zgodnie z powyższymi instrukcjami.

Reguły dla subdomen zawarte w pliku .htaccess są następujące:

RewriteEngine On

# całe 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 (z lub bez www na początku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# aliasy - poprawne przekierowanie przy brakującym /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - poprawne przekierowanie przy brakującym /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]

Powyższy kod dotyczy także tworzenia odrębnych stron dla aliasów.

Utworzenie subdomeny

Np. masz webhosting dla domeny example.com, na którym chcesz utworzyć subdomenę karel.example.com. W takim przypadku przez FTP utwórz katalog  www/subdom/karel, a następnie umieść w nim pliki, które mają wyświetlać się na adresie http://karel.example.com/ (będzie to działać również na adresie www.karel.example.com).

Upewnij się, że domena ma w DNS ustawiony odpowiedni rekord A, a tym samym jest skierowana na webhosting – a to bądź dla konkretnej subdomeny lub dla wszystkich (rekord z gwiazdką).

Następnie zapoznaj się z:

Różne subdomeny dla różnych aliasów

Jeśli na webhostingu korzystasz jednocześnie z aliasów i subdomen, utworzeniem katalogu np. www/subdom/example, utworzysz wspólną subdomenę example dla wszystkich aliasów, co może nie być pożądane.

Jeśli chcesz mieć różne aliasy dla różnych domen (np. strona example.alias1.cz ma być inna niż example.alias2.cz), konieczne jest utworzenie odpowiednich podkatalogów w www/domains, w tym przypadku:www/domains/example.alias1.cz i www/domains/example.alias2.cz.

Zawartość nieistniejących subdomen

Jeśli ktoś wprowadzi adres subdomeny, dla której nie utworzono katalogu na webhostingu, wyświetli się mu treść, którą zawiera katalog www, tj. domeny głównej. Jeśli nie chcesz, aby dochodziło do takiej sytuacji – przenieś zawartość domeny głównej z katalogu www do podkatalogu www/domains/nazwa-domeny-głównej.cz – tj. dla domeny głównej utwórz katalog jak dla aliasu. Potem nieistniejące subdomeny nadal będą kierowane do katalogu www, gdzie nie będą zamieszczone żadne treści lub umieścisz tam stronę z informacją o nieistniejącej subdomenie, lub przekierowaniu itp.

Pamiętaj jednak o pozostawieniu w katalogu www przygotowanego przez pliku .htaccess, w przeciwnym razie Twoje strony nie będą dostępne.