V současné době mám několik webů, každý se svojí vlastní doménou. Bohužel jejich návštěvnost je lecky taková, že si web vydělá tak akorát na doménu a nejsou peníze na to, abych pro každý pořizoval vlastní hosting. Jaké jsou tedy možnosti, když chci provozovat web na vlatní doméně a neplatit další hosting?
- Free hostingy – většinou vám poskytnou nějaký ten prostor za reklamu nebo zpětný odkaz
- 000webhost.com – tato společnost (nevím, zda to dělá ještě někdo jiný) vám poskytne hosting bez reklamy zdarma. Sice to neběhá úplně nejrychleji, ale co by jste chtěli, když je to zadarmo.
- Hosting k doméně zdarma – například subreg poskytuje ke každé doméně 10 MB na FTP zdarma. Žádný větší projekt tam sice nenacpete, ale hodí se.
Bohužel se mi jednou stalo, že ani jedna z těchto variant mi nevyhovovala, ale pořád se mi moc nechtělo platit si kvůli jednomu webu dalši hosting. Snažil jsem se tedy vymyslet způsob, jak nový web hostovat na stávajícím FTP a přitom používat jeho vlatní doménu a ne žádné novyweb.troska.cz
nebo ještě hůř troska.cz/novyweb
. Dost možná bude existovat i elegantnější řešení, ale po dnu hraní si s .htaccess
jsem byl rád za první možnost, která fungovala. Tady je můj postup. Budete potřebovat:
- doménu 2. řádu u subreg.cz
- vlastní hosting, který podporuje domény 3. řádu a mod_rewrite
Postup:
- na hostingu vytvoříme subdoménu a na ní umístíme nový web (např.
novyweb.mujhosting.cz
) - na subregu si k doméně necháme zdarma založit FTP
- na FTP uplodadneme následující
.htaccess
soubor
# povoleni presmerovani RewriteEngine On # presmeruj cokoliv.novyweb.cz RewriteCond %{HTTP_HOST} ^novyweb.cz # aby byly presmerovavany i subdomeny RewriteRule (.*) http://www.novyweb.cz/$1 [R=301,QSA,L] # presmerovani na adresu kde web fyzicky bezi RewriteRule (.*) http://novyweb.mujhosting.cz/$1 [P,QSA,L]
Díky tomu bude uživateli zobrazen obsah umístěný na novyweb.mujhosting.cz
, ale v adresní řádce zůstane www.novyweb.cz
, takže nikdo nepozná, že byl vlastně někam přesměrován.
Zatím jediná nevýhoda kterou jsem objevil je, že web je zároveň dostupný i na adrese kde reálně běží, tedy na novyweb.mujhosting.cz
, což mi ale nijak nevadí.
Jestli někdo víte o lepším způsobu, jak hostovat více webů s doménou 2. řádu na jednom hostingu, klidně se podělte v komentářích. Určitě netvrdím, že tento způsob je jediný a nejlepší – jen jsem sám na nic lepšího zatím nepřišel :).
Poněkud krkolomné řešení, stačí druhou (a další) doménu nastavit jako alias a umíst do jiné složky. Obvykle se to řeší v .htaccess na serveru, kde je prezentace:
RewriteCond %{HTTP_HOST} ^mujweb\.cz
RewriteRule (.*) /mujweb.cz/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^www\.mujweb\.cz
RewriteRule (.*) /mujweb.cz/$1 [L,QSA]
Krkolomné řešení to je, ale má to tu výhodu, že nemusíš mít pro doménu s hostingem aliasy, které většinou nejsou zadarmo.