DNS wildcard w Bind i w Apache'u czyli jak wyłapać każdą domenę i przekierować pod jeden adres www
Posted on Tue 01 November 2011 in Tips4Unices • 1 min read
Często chcemy aby adres zawierający dowolną subdomenę przekierowywał pod jeden adres, a dokładniej na jeden serwis www.
Przykład:
użytkownik wpisuje w przeglądarkę np.:
foo.fubar.pl
bar.fubar.pl
i chcemy aby został przekierowany pod adres:
www.fubar.pl
Najpierw robimy właściwy wpis do pliku strefy w Bind-zie.
Najpierw wpisujemy rekord dla subdomeny www:
www A xxx.xxx.xxx
a potem rekord typ wildcard:
* CNAME www
Restartujemy Bind-a (nie zapomnijcie zmienić seriala!).
Teraz konfiguracja Apache.
W sekcji naszego serwera wirtualnego dopisujemy:
ServerAlias *.fubar.pl
Restartujemy Apache'a
I jeszcze regułka mod_rewrite, żeby dowolną subdomenę czyli z przykładu foo oraz bar zamienić na www.
Dopisujemy do .htaccess w katalogu głównym serwera wirtualnego:
RewriteEngine onRewriteCond %{http_host} .
RewriteCond %{http_host} !^www.fubar.pl [NC]
RewriteCond %{http_host} ^([^.]+)\.fubar.pl [NC]
RewriteRule ^(.*) http://www.fubar.pl/ [R=301,L,QSA]