Paweł Rabinek blog

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.

25.02.2006 | trackback | Śledź komentarze w tym wątku: RSS 2.0.

Kategorie: SEO

Komentarze (14) do artykułu “Subdomeny za pomocą .htaccess (serwer Apache)”

  • 1. jAblo - 06.05.2006, 13:05:28

    no wlasnie nie za bardzo mi trybi ten sposob :P a inny jaki znalazlem w internecie blokuje dostep do przekierowywanej strony a niby zaklada subdomene, ale u innych dziala :P

  • 2. xradar - 06.05.2006, 13:05:40

    Nie każdy hosting umożliwia założenie subdomeny. Osobiście miałem do czynienia z firmą Agnat z Bydgoszczy na której serwerach nie szło w ten sposób założć subdomeny :( Jedynym sposobem było wykupienie dodatkowego konta… Najlepiej jest zapytać w firmie w której mamy hosting, czy taka opcja z .htaccess jest możliwa :)

  • 3. Blog technologiczny » Ban i 403 za pomocą htaccess. - 27.05.2006, 11:05:06

    [...] Wcześniej opisałem jak tworzyć subdomeny za pomocą htaccess. Dziś czas pokazać jak zbanować określone IP [...]

  • 4. Zen - 05.02.2007, 19:02:59

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

    dlaczego to niechce działać?

  • 5. SongoQ - 04.05.2007, 19:05:31

    @Zan pewnie chodzi o Wildcard czyli odpowiedni wpis w dns

  • 6. Niyto - 21.09.2007, 19:09:39

    trochę pokombinowałem….

    owszem działa to rozwiązanie,wczytuje dane z folderu, ale….

    nie wczytuje do końca… podałem /index.php wczytuje index.php ale nie wczytuje grafiki, itd. sad.gif

    co zrobić żeby cała strona się wczytała czyli co wpisać zamiast /index.php?

    Proszę o pomoc

    RewriteEngine on
    Options +FollowSymLinks

    RewriteCond %{HTTP_HOST} !^(www\.)?domena.pl [NC]
    RewriteCond %{HTTP_HOST} (.*).domena.pl[NC]
    RewriteRule (.*)(.*)$ %1/index.php

  • 7. Paweł Rabinek - 22.09.2007, 10:09:25

    Hmm niestety u mnie to nie dziala, pewnie coś w ustawieniach serwera. Jeśli nie wczytuje Ci grafik to znaczy, że masz coś ze ścieżkami. Sprobuj dodac w tym htaccessie RewriteBase / a potem ewentualnie jeszcze w podkatalogach dodac htaccessy z RewriteBase /katalog/

  • 8. Nitro - 22.09.2007, 19:09:34

    Poszukałem w podręczniku w Apachu odnośnie mod_rewrite i znalazłem jak robić subdomeny:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www\.[^.]+\.host\.com$
    RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
    RewriteRule ^www\.([^.]+)\.host\.com(.*) /home/$1$2

    po zmianach nie działa :(

    link: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

  • 9. ts2page - 26.12.2007, 18:12:11

    za 1rok biedie hosting w bydgoszczy mam go zalosze : D

  • 10. Grzegorz - 01.05.2008, 17:05:23

    mam serwer oparty na apache, ale nie mam wukupionego DNS
    czy moge mieć subdomene: “subdomena.127.0.0.1″?
    z góry dzieki

  • 11. Paweł Rabinek - 04.05.2008, 13:05:05

    @Grzegorz, jeśli dobrze Cie rozumiem, to NIE.

  • 12. kropek4767 - 29.08.2008, 12:08:10

    “Grzegorz – 01.05.2008, 17:05:23

    mam serwer oparty na apache, ale nie mam wukupionego DNS
    czy moge mieć subdomene: “subdomena.127.0.0.1″?
    z góry dzieki”

    Mozesz skorzystać z usług bee.pl

  • 13. Romek - 17.03.2009, 10:03:10

    Mam hosting na hekko. Działa bez problemu!!

  • 14. Krzysztof - 16.02.2010, 12:02:40

    Jesli chodzi o ladowanie obrazkow, jest sciezka do obrazka jest typu images/obrazek.jpg na poczatku adresu music dac / czyli /images/obrazek.jpg

Skomentuj: