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:50 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 aby pozycjonowanie było skuteczne. 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, również z punktu widzenia pozycjonowania, 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 owego podkatalogu.
Autor
Miron Kłosiński
Ocena artykułu
3.67 - (3 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ę