Wyższy standard skuteczności
Blog
Informacje z branży i życia firmy
Wybierz dziedzinę

Przekierowanie domeny przy pomocy .htaccess

Opublikowano: 31-01-2008
Czas potrzebny do przeczytania: 1:20 min
Na początku wypadało by pokrótce omówić czym jest i do czego służy plik .htaccess. Otóż tajemniczy plik .htaccess jest plikiem konfiguracyjnym serwera. Wszelkie wprowadzone w nim zmiany są widoczne w katalogu oraz podkatalogach folderu nadrzędnego, w którym się on znajduje.

Dzięki plikowi .htaccess można wykonać dowolne przekierowania podpiętej już domeny. Niewiele osób wie jak ważne jest odpowiednie przekierowanie domeny w procesie pozycjonowania. Otóż jak wiadomo Google „akceptuje” tylko pełne przekierowania zwane przekierowaniami typu 301 - inne połowiczne przekierowania (np. tymczasowe 302) nie są tak wartościowe.

W dzisiejszym artykule przedstawię dwa sposoby wykonania prawidłowego przekierowania typu 301 opartego na pliku .htaccess.

Pierwszy sposób zapisu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^abc.pl [NC,OR]
RewriteCond %{HTTP_HOST} ^www.abc.pl [NC,OR]
...
RewriteCond %{HTTP_HOST} ^xyz.pl [NC]
RewriteRule ^(.*)$ http://www.xyz.pl/$1 [R=301,L]

Adresy abc.pl, www.abc.pl i xyz.pl są przekierowywane na adres www.xyz.pl.

Należy pamiętać, aby w pierwszej linii naszego pliku .htaccess było zawsze polecenie „RewriteEngine On”. Polecenie to uruchamia „silnik przepisywania” czyli moduł mod_rewrite dla danego pliku .htaccess.

Postaram się omówić teraz drugą metodę zapisu.

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.DOMENA.pl [NC]
RewriteRule ^(.*)$ http://www.DOMENA.pl/$1 [R=301,L]

Pierwsza linia została już omówiona wcześniej, odnosząc się do drugiej linii przedstawia się ona w następujący sposób - „Jeżeli adres strony jest różny od www.DOMENA.pl wtedy przekieruj do adresu www.DOMENA.pl”. Wpis ten jest wpisem o tyle lepszym w użyciu, gdyż nie musimy znać wszystkich domen kierujących do serwisu. Niektóre serwery (np. nazwa.pl) wymagają dopisania polecenia „RewriteBase /” tuż pod poleceniem startowym RewriteEngine On. Jeżeli plik .htaccess znajduje się w podkatalogu, należy instrukcję tą uzupełnić o pełen względny (wobec położenia katalogu głównego domeny) adres ów podkatalogu.
Autor
Miron Kłosiński
Ocena artykułu
5.00 - (2 głosy)
Komentarze
#1Adrian Krawczyk2011-09-10 15:25:33
A da się zrobić takie przekierowanie domeny na plik php? Mam główna domenę www.glowna.pl i kilka innych domen które chciałbym podlinkować pod niektóre pliki na serwerze np plik1.php -> domena1.pl itd i po kliknięciu w dany z przekierowaniem wskakiwała pożądana domena, natomiast reszta odnośników i plików, aby była podpięta do głownej domeny odnośnikami lokalnymi ./. Dodam, że wszystkie domeny mają już skierowane serwery dns na tą domene i hosting głównej.
#2Piotr Górniak2011-09-20 08:48:31
W przypadku kiedy wszystkie domeny skierowane są na katalog główny na serwerze w pliku .htaccess należy użyć warunku:

RewriteCond %{HTTP_HOST} ^www.domena.pl [NC]
RewriteRule ^(.*)$ plik.html [QSA,NC]
#3Paweł2017-06-08 10:46:17
Mam pytanie techniczne, tzn mam zarejestrowana domene na nazwa.pl, oraz serwer bluehost.com. Chce aby zarejestrowana domena wskazywala nie na glowny adres serwera tzn www.xxx.us, tylko na www.xxx.us/xxx (czyli na katalog). Skonfigurowałem odpowiednio serwery DNS na nazwie.pl. I teraz w cPanelu serwera moge jedynie zaparkowa domenę dla głównego katalogu czyli www.xxx.us a dla katalogów mozliwe jest tylko addon domain co działa w zasadzie jak alias. Proszę o pomoc czy da się jakoś zaparkowa tą domenę dla katalogu? CI z bluehosta nie odpisują na maile moze dlatego ze nie rozumieja mojego angielskiego. Pozdrawiam.
#4Miron Kłosiński2017-06-08 10:46:25
Hmmm... skoro nie ma możliwości przypisania domeny do wybranego katalogu i ciężko się dogadać z administratorami Bluehost, to można skorzystać z alternatywnego rozwiązania, np. z mod_rewrite.

RewriteRule ^(.*)$ forum/$1
Dodaj komentarz
Ostrzeżenie: Uwaga na firmę o podobnej nazwie! Więcej...
Zapoznałem się