Jak dynamicznie przekierowywać subdomeny do katalogów? [RewriteEngine]
Jeśli chcemy utworzyć wiele subdomen w naszym serwisie, tak by każda z nich związana była z innym katalogiem na serwerze (mogą to na przykład być katalogi poszczególnych użytkowników), każdą nową subdomenę trzeba dodawać ręcznie do konfiguracji. Sprytne wykorzystanie RewriteEngine pozwala obejść ten problem.
W pliku konfiguracyjnym serwera Apache (apache.conf lub httpd.conf – jeśli mamy dostęp do globalnej konfiguracji, lub .htaccess, jeśli korzystamy ze współdzielonego hostingu), ustalamy opcję DocumentRoot, określającą, gdzie kierowane są wszystkie żądania. Tam będą znajdowały się wszystkie katalogi wszystkich subdomen.
DocumentRoot /var/www/
Następnie otwieramy sekcję VirtualHost – w niej określimy nazwę serwera i reguły, według których RewriteEngine będzie przepisywał domenowe adresy. Wcześniej jednak zdefiniujemy opcje ServerAlias i ServerName – czyli nazwa domenowa, skonfigurowana na serwerze DNS, na którym domena jest utrzymywana.
ServerName www.mojastrona.pl
ServerAlias www.mojastrona.pl
Po włączeniu RewriteEngine, definiujemy następujące reguły:
RewriteCond %{HTTP_HOST} ^mojastrona.pl
RewriteRule ^(.*)$ /var/www/$1 [L]
W ten sposób przekierowujemy adres bez subdomen do katalogu /var/www/.
RewriteCond %{HTTP_HOST} ^www.*
RewriteRule ^(.*)$ /var/www/$1 [L]
W ten sposób zabezpieczamy się, aby typowa subdomena www prowadziła do tego samego katalogu, co główna domena,
RewriteCond %{HTTP_HOST} ^(.*)\.mojastrona\.pl
RewriteRule ^(.*)$ /%1/$1 [L]
Finalna reguła pozwala nam na przekierowanie z każdej subdomeny do odpowiedniego podkatalogu.
Teraz wystarczy tylko ustawić domenę z wieloznacznikiem w DNS (wildcard). Jak to dokładnie zrobić – zależy od hostera i panelu konfiguracyjnego ale generalnie w pliku strefy powinien znaleźć się wpis taki jak
*.mojastrona.pl CNAME 3600 mojastrona.pl
Teraz adres www.mojadomena.pl będzie prowadził do katalogu /var/www/, zaś adres alfa.mojadomena.pl będzie prowadził do katalogu /var/www/alfa.
Cały plik konfiguracyjny wygląda więc następująco:
DocumentRoot /var/www/
<VirtualHost *>
ServerAlias www.mojadomena.pl
ServerName www.mojadomena.pl
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mojadomena.pl
RewriteRule ^(.*)$ /var/www/$1 [L]
RewriteCond %{HTTP_HOST} ^www.*
RewriteRule ^(.*)$ /var/www/$1 [L]
RewriteCond %{HTTP_HOST} ^(.*)\.mojadomena\.pl
RewriteRule ^(.*)$ /%1/$1 [L]
</VirtualHost>
Popularne
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
19
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Z okazji wypuszczenia akcji Facebooka przypomnijmy sobie, kim jest Zuckerberg
10
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Co czeka programistów po czterdziestce?
27
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Społeczność
Mas Ciekawa informacja, ale akurat projekt wytopu stali przez chłopów to był...
_Igancio Poziom artykułu jest bardzo niski ! Niczego się nie dowiedziałem , wygląda...
voluu A ja mam problem. MIanowicie, po dodaniu kodu z tego poradnika miniaturki...
Sebek Pozycjonowanie stron za pośrednictwem firm oferujących
swoje usługi nie...
asdosad jak to zrobić na xp??
lol Jak ktoś tu wcześniej zauważył - artykuł jest o niczym, a właściwie ukrytą...
grzybecki To raczej powinien być znak dla programistów Social Media, aby swoje...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |








