- Wprowadzenie
- Przekierowanie domeny na katalog na serwerze w home.pl (.htaccess)
- Przekierowanie subdomen na podkatalogi na serwerze w home.pl (.htaccess)
- Dodatkowe informacje oraz plusy przedstawionego rozwiązania
- Korzystanie z tego typu przekierowania przy domenie przypisanej do serwera w home.pl
Wprowadzenie
Poniższa instrukcja znajdzie zastosowanie, m.in. w konfiguracji w której domena została przekierowana na adres IP serwera znajdującego się w home.pl. Przekierowanie na adres IP jest możliwe m.in. poprzez edycję rekordu A w panelu administracyjnym w panelu operatora domeny.
Przekierowanie domeny na katalog na serwerze w home.pl (.htaccess)
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?domena\.pl$ [NC] RewriteCond %{REQUEST_FILENAME} !/katalog/ RewriteRule ^(.*)$ /katalog/$1 [L]
Pogrubione pola: „domena” oraz „katalog” należy zmienić na odpowiednią wartość:
- zamiast słowa domena wpisz nazwę domeny, która ma zostać przekierowana na podkatalog,
- zamiast słowa katalog wpisz nazwę katalogu, do którego domena ma zostać przekierowana.
Sprawdź poniższy przykład dla domeny „twojadomena.pl”. Domena „twojadomena.pl” ma zostać przekierowana na podkatalog na nazwie „/stronawww”:
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?twojadomena\.pl$ [NC] RewriteCond %{REQUEST_FILENAME} !/stronawww/ RewriteRule ^(.*)$ /stronawww/$1 [L]
Przekierowanie subdomen na podkatalogi na serwerze w home.pl (.htaccess)
Co będzie w przypadku, gdy będziemy chcieli przekierować wszystkie subdomeny w domenie np. „twojadomena.pl” na odpowiadające ich nazwie katalogi? Gdyby ta operacja wykonywana była na podstawie powyższego przykładu, to plik „.htaccess” w bardzo krótkim czasie zwiększyłby swoją objętość. Otóż jest na to bardziej optymalny sposób:
RewriteEngine On RewriteCond %{HTTP_HOST} !^(www\.)?twojadomena\.pl$ [NC] RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.twojadomena\.pl$ [NC] RewriteRule .* /%2%{REQUEST_URI}
W ten oto prosty sposób mamy możliwość przepisania wszystkich subdomen o adresie „www.*.twojadomena.pl” na odpowiadające ich nazwie katalogi. Jest to optymalne rozwiązanie, ponieważ wprowadzanie jakichkolwiek modyfikacji w konfiguracji domeny nie jest wymagane. Znak gwiazdki * oznacza dowolny ciąg znaków, czyli dowolną subdomenę.
Dodatkowe informacje oraz plusy przedstawionego rozwiązania
Reguły zadziałają także dla domen przypisanych z zewnętrznego serwera DNS na adres IP (rekord A) i/lub adres domeny (rekord CNAME) w sieci home.pl, pozwalając przekierować taką domenę na podkatalog bez konieczności przypisywania jej do serwera.
Dużym plusem przy zastosowaniu przekierowania tego typu jest fakt, iż aplikacja nie jest zamykana w ramach danego podkatalogu za pomocą mechanizmu „chroot” i mamy dostęp do skryptów i katalogów opublikowanych w ramach całego serwera. Pozwala to nam np. na includowanie skryptów w PHP znajdujących się powyżej drzewa podkatalogu, na który przekierowaliśmy domenę.
Korzystanie z tego typu przekierowania przy domenie przypisanej do serwera w home.pl (i skierowanej na katalog główny serwera)
Jeśli domena pierwszego rzędu (np. „twojadomena.pl”) jest skierowana na katalog główny serwera w home.pl, to należy zwrócić uwagę na fakt, że próba wywołania adresu „dowolna_nazwa.twojadomena.pl”, spowoduje przekierowanie do katalogu „/dowolna_nazwa”.
Jeśli katalog „/dowolna_nazwa” istnieje, to przepisanie adresu można zdefiniować w pliku „.htaccess”, który należy umieścić w katalogu „/dowolna_nazwa”. W przypadku, jeśli katalog „/dowolna_nazwa” nie istnieje, to wywołany zostanie katalog główny serwera, do którego domena jest przypisana.