Plik .htaccess – jak tworzyć przekierowania? Zbiór 19 przydatnych reguł!
Tworzenie prawidłowych przekierowań jest istotne zarówno pod kątem SEO,
jak i UX. Wdrażając właściwe zasady, będziesz w stanie utworzyć witrynę zgodną
z najnowszymi standardami SXO (ang. Search Experience Optimization). Aby poznać
zbiór 19 przydatnych reguł ważnych w zakresie tworzenia przekierowań,
przeczytaj nasz wpis.
Plik .htaccess – co to jest?
Plik htaccess to plik konfiguracyjny używany na serwerach opartych na Apache, pozwalający na definiowanie zachowania serwera oraz dostosowywanie różnych ustawień bez konieczności bezpośredniej ingerencji w centralną konfigurację. Działa poprzez umieszczenie go w katalogu głównym Twojej strony internetowej (instruuje serwer, jak obsługiwać różne żądania). Na przykład, umożliwia przekierowanie użytkownika z jednego adresu url na inną domenę lub zapewnienie dostępu do strony tylko z przedrostkiem www.
Wykorzystując plik htaccess, możesz również ustawić własną stronę błędu. Jest to realizowane poprzez proste dyrektywy wpisane do utworzonego pliku w formacie pliku tekstowego, który można edytować za pomocą domyślnego notatnika systemu Windows lub innego edytora tekstu.
Jedną z popularnych funkcji, jaką oferuje plik htaccess, jest przekierowanie domeny za pomocą reguły 1 r 301 l (kluczowa opcja pod kątem utrzymania ciągłości adresów url i optymalizacji SEO). W konsekwencji, jeśli zmieniasz strukturę swojej strony lub przenosisz zawartość na nowy adres, możesz łatwo przekierować ruch bez utraty wartości SEO.
Aby zacząć korzystać z pliku htaccess, należy go najpierw utworzyć i przesłać na serwer za pomocą FTP, umieszczając w odpowiednim katalogu na stronie serwera.
Gdzie znaleźć plik .htaccess?
W WordPressie, plik .htaccess jest automatycznie wykorzystywany do zarządzania przyjaznymi linkami i może być modyfikowany przez panel administracyjny, choć bezpośredni dostęp do pliku nie będzie widoczny przez interfejs WordPressa. Aby dokonać zmiany istniejących dyrektyw ustawionych lub dodać nowe (np. własne strony błędów czy przekierowanie na nowy adres) konieczne jest bezpośrednie zalogowanie się do serwera za pomocą serwera FTP.
Zapamiętaj!
W środowisku Apache, htaccess odczytywany jest w celu zastosowania różnorodnych konfiguracji dla strony internetowej, w tym wymuszenie https, stworzenie przyjaznych linków, czy przekierowanie z jednego adresu na inny, w tym w wersji bez przedrostka www na wersję www.
Używając serwera FTP, możesz uzyskać dostęp do pliku htaccess, znajdującego się w odpowiednim katalogu Twojej instalacji WordPressa, zwykle w katalogu głównym, gdzie znajduje się również plik index. Jeśli plik htaccess nie jest widoczny, może to być spowodowane ustawieniami klienta FTP, które trzeba zmodyfikować, aby wyświetlał pliki ukryte, ponieważ nazwa pliku zaczyna się od kropki.
Plik .htaccess – jak go edytować i dlaczego warto zrobić kopię tego pliku?
Edytowanie pliku .htaccess wymaga zrozumienia jego roli jako narzędzia konfiguracyjnego serwera WWW Apache, znanego również jako Hypertext Access. Ten plik umożliwia definiowanie reguł dotyczących przekierowań, przetwarzania adresów IP, dostępu użytkowników czy przekształcania adresów stron w bardziej przyjazne formy.
Aby edytować plik .htaccess, należy uzyskać do niego dostęp na serwerze (zwykle odbywa się to poprzez klienta FTP lub menedżera plików w panelu administracyjnym hostingu). Otwierając go za pomocą edytora tekstu, możesz modyfikować lub wdrażać dyrektywy (np. przekierowanie 301, dodanie reguły AccessFileName, czy instrukcje RewriteCond dla obsługi HTTP i HTTPS oraz domeny źródłowej). Podczas edycji ważne jest zachowanie precyzji składni wzorowanej na słowach kluczowych, w tym RewriteCond HTTP_HOST www. Dzięki temu zapewnisz poprawne działanie przekierowań i innych funkcji.
Dlaczego warto zrobić kopię tego pliku?
- Zapewnia bezpieczeństwo przed utratą ważnych konfiguracji podczas aktualizacji lub błędów edycji;
- Umożliwia szybkie przywrócenie funkcjonalności strony w przypadku nieprzewidzianych problemów z nowymi ustawieniami;
- Pozwala na eksperymentowanie z różnymi ustawieniami bez ryzyka trwałego zakłócenia działania witryny.
Jak tworzyć przekierowania .htaccess? Zbiór 19 najważniejszych formuł!
Zbiór najważniejszych formuł dot. przekierowań w .htaccess:
1. Standardowe przekierowanie 301
Przekierowanie 301 sygnalizuje przeglądarkom i wyszukiwarkom, że dana strona została trwale przeniesiona na nowy adres URL. Jest to niezbędne, aby zachować wartość SEO przy zmianie adresu strony lub całej witryny. Pozwala to użytkownikom i robotom wyszukiwarek na bezproblemowe dotarcie do aktualnej lokalizacji zawartości, minimalizując ryzyko napotkania błędów 404.
Przykład kodu:
Redirect 301 /stara-strona.html http://twojadomena.pl/nowa-strona.html
2. Przekierowanie z wersji http na https (wymuszenie SSL)
Zabezpieczenie połączenia za pomocą SSL staje się standardem, podnosząc poziom bezpieczeństwa i zaufania do witryny. Wymuszenie przekierowania z HTTP na HTTPS jest istotne, aby zapewnić, że cała komunikacja między przeglądarką użytkownika a serwerem odbywa się przez szyfrowane połączenie. Dzięki temu dane przesyłane są w sposób bezpieczny (szczególnie ważne rozwiązanie przy obsłudze danych osobowych i transakcji finansowych).
Przykład kodu:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
3. Przekierowanie na inną domenę
Zmiana nazwy domeny lub przeniesienie treści na nową witrynę wymaga odpowiedniego przekierowania, aby użytkownicy byli automatycznie kierowani na nowy adres. Umożliwia to zachowanie ciągłości dostępu do zawartości oraz pomaga w utrzymaniu pozycji w wynikach wyszukiwania.
Przykład kodu:
RewriteEngine On
RewriteRule ^(.*)$ http://nowadomena.pl/$1 [R=301,L]
4. Przekierowanie bezwarunkowe
Przekierowanie bezwarunkowe stosuje się, gdy każde żądanie do serwera, niezależnie od szczegółów URL, ma być przekierowane na określony adres. Jest to przydatne, na przykład, podczas wdrażania strony tymczasowej informującej o trwającej aktualizacji lub konserwacji serwisu.
Przykład kodu:
RedirectMatch 301 ^/.*$ http://twojadomena.pl/strona-tymczasowa.html
5. Przekierowanie z wersji www na bez www
Konsolidacja domeny z wersji www na bez www (lub odwrotnie) jest ważna pod kątem uniknięcia podziału wartości linków i potencjalnego rozdrobnienia pozycji w wyszukiwarkach. Ujednolicenie adresu strony poprawia jej rozpoznawalność i ułatwia budowanie silnej marki w internecie.
Przykład kodu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.[^.]+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
6. Przekierowanie wszystkich stron na jedną stronę (np. stronę główną)
Przekierowanie wszystkich żądań do Twojej witryny na jedną, określoną stronę, jak na przykład stronę główną, jest przydatne w sytuacjach tymczasowego zawieszenia działalności serwisu lub ograniczenia dostępu do aktualizowanej zawartości. To podejście umożliwia utrzymanie komunikacji z użytkownikami, nawet gdy pozostała część witryny jest niedostępna.
Przykład kodu:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/strona-glowna.html
RewriteRule ^(.*)$ /strona-glowna.html [R=301,L]
7. Przekierowanie z parametrami
Zachowanie parametrów zapytania przy przekierowaniu jest istotne dla funkcjonalności wymagających przekazywania danych między stronami, na przykład w procesach zakupowych, wyszukiwaniu lub filtrowaniu zawartości. Umożliwia to przeniesienie użytkownika wraz z całym kontekstem jego działania na nową stronę.
Przykład kodu:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=123$
RewriteRule ^stara-strona\.php$ /nowa-strona.php? [L,R=301]
8. Przekierowanie z jednej domeny na konkretną podstronę innej domeny
Przekierowanie użytkowników z określonej domeny bezpośrednio na konkretną podstronę innej domeny jest przydatne przy reorganizacji stron internetowych, fuzji firm czy zmianie marki. Pozwala to na precyzyjne kierowanie ruchu, zapewniając płynność przejścia i dostęp do poszukiwanych informacji.
Przykład kodu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^stara-domena.pl$
RewriteRule ^(.*)$ http://nowa-domena.pl/konkretna-podstrona [R=301,L]
9. Przekierowanie z jednej strony na inną w innej domenie
To przekierowanie jest szczególnie przydatne, gdy przenosisz określone treści między różnymi domenami. Dzięki temu użytkownicy poszukujący specyficznych informacji zostaną automatycznie przekierowani do nowej lokalizacji.
Przykład kodu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^stara-domena.pl$
RewriteCond %{REQUEST_URI} ^/stara-strona.html$
RewriteRule ^(.*)$ http://nowa-domena.pl/nowa-strona.html [R=301,L]
10. Przekierowanie z jednego katalogu na inny
Zmiana struktury katalogów na serwerze może wymagać przekierowania odwiedzających ze starych URL-i do nowych. Tego typu przekierowanie jest niezbędne, aby zapewnić, że użytkownicy i roboty wyszukiwarek mogą bezproblemowo znaleźć zaktualizowane lokalizacje treści.
Przykład kodu:
RewriteEngine On
RewriteRule ^stary-katalog/(.*)$ /nowy-katalog/$1 [R=301,L]
11. Przekierowanie z jednego podkatalogu na inny
Przenoszenie sekcji witryny do nowego podkatalogu wymaga precyzyjnego przekierowania, aby użytkownicy i wyszukiwarki mogły łatwo odnaleźć zmienioną lokalizację zawartości. Zapobiega to problemom z dostępnością stron i pomaga w utrzymaniu wartości SEO dla przenoszonych materiałów.
Przykład kodu:
RewriteEngine On
RewriteRule ^stary-podkatalog/(.*)$ /nowy-podkatalog/$1 [R=301,L]
12. Przekierowanie na stronę w zależności od agenta użytkownika
Dostosowanie treści do rodzaju urządzenia, z którego korzysta użytkownik, poprawia jego doświadczenia z witryną.
Przykład kodu:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} iPhone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Android [NC]
RewriteRule ^(.*)$ /mobilna/$1 [R=301,L]
13. Przekierowanie na niestandardowy port SSL
Jeśli obsługujesz zabezpieczone połączenia przy użyciu niestandardowego portu SSL, ważne jest, żeby przekierowania uwzględniały tę konfigurację. Umożliwia to bezproblemowy dostęp do zasobów, nawet jeśli nie korzystają one z domyślnego portu 443.
Przykład kodu:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^8443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}:8443/$1 [R=301,L]
14. Przekierowanie podstron na podstronę
W sytuacji, gdy kilka podstron zawiera podobną treść lub z jakiegoś powodu chcesz skonsolidować ruch do jednej lokalizacji, przekierowanie grupy adresów URL na jedną docelową podstronę będzie efektywnym rozwiązaniem.
Przykład kodu:
RewriteEngine On
RewriteRule ^podstrona1.html|podstrona2.html|podstrona3.html$ /docelowa-podstrona.html [R=301,L]
15. Przekierowanie pojedynczej podstrony na inną podstronę
Zmiana adresu URL konkretnej strony wymaga dokładnego przekierowania, aby zapewnić płynne przejście użytkowników na nową lokalizację. Jest to ważne pod kątem zachowania ciągłości dostępu do informacji i utrzymania pozycji w wyszukiwarkach.
Przykład kodu:
RewriteEngine On
RewriteRule ^stara-podstrona.html$ /nowa-podstrona.html [R=301,L]
16. Przekierowanie całego serwisu na inną domenę
Przekierowanie całej witryny na nową domenę jest istotne podczas rebrandingu lub zmiany nazwy domeny. Pozwala zachować ciągłość dostępu do serwisu dla użytkowników i wyszukiwarek, przekierowując wszystkie zapytania do nowego adresu.
Przykład kodu:
RewriteEngine On
RewriteRule ^(.*)$ http://nowadomena.pl/$1 [R=301,L]
17. Przekierowanie subdomeny na inną domenę
Przekierowanie subdomeny na inną domenę jest przydatne, gdy chcesz przekierować ruch z określonej części Twojej witryny na zupełnie nową (może to być częścią strategii reorganizacji zawartości lub usług internetowych).
Przykład kodu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomena\.twojadomena\.pl$
RewriteRule ^(.*)$ http://nowadomena.pl/$1 [R=301,L]
18. Przekierowanie strony 404 w .htaccess
Personalizacja strony błędu 404 poprawia doświadczenie użytkownika na Twojej witrynie, informując go w przyjazny sposób o nieznalezieniu strony i oferując opcje dalszego działania, np. powrót na stronę główną lub wyszukiwanie.
Przykład kodu:
ErrorDocument 404 /strona-bledu-404.html
19. Przekierowanie bez użycia mod_rewrite
Przekierowanie bez wykorzystania mod_rewrite jest prostszą metodą, która może być stosowana w sytuacjach, gdy nie potrzebujesz skomplikowanych reguł przekierowań. Szczególnie przydatne rozwiązanie dla prostych przekierowań całej witryny lub pojedynczych stron.
Przykład kodu:
Redirect 301 /stara-strona.html http://nowadomena.pl/nowa-strona.html
Plik .htaccess – jak tworzyć przekierowania? FAQ
Jakie są najczęstsze pytania i odpowiedzi na temat tworzenia przekierowań w pliku .htaccess?
1. Czym jest plik .htaccess i jak go stworzyć na serwerze FTP?
Plik .htaccess, działający na serwerze Apache, pozwala na zarządzanie konkretnymi zachowaniami serwera bez potrzeby modyfikacji jego głównych plików konfiguracyjnych. Aby go utworzyć, zaloguj się na serwer FTP i w preferowanym katalogu (np. w głównym katalogu Twojej strony) stwórz plik o nazwie .htaccess. Pamiętaj, aby przed rozpoczęciem pracy na komputerze lokalnym zabezpieczyć się, tworząc kopię zapasową istniejących konfiguracji.
2. Jak przekierować użytkownika na inny adres URL przy użyciu .htaccess?
Przekierowanie użytkownika na inny adres URL jest jednym z podstawowych zastosowań pliku .htaccess. Aby to osiągnąć, należy pamiętać o zastosowaniu odpowiedniej dyrektywy. Wpisz poniższy kod, aby przekierować wizyty z domeny źródłowej na wybrany adres URL:
bash
Redirect 301 /stara-podstrona.html http://www.twojadomena.com/nowa-podstrona.html
Ten fragment kodu informuje przeglądarki, że treść znajdująca się pod danym adresem URL została trwale przeniesiona do nowej lokalizacji. Dobra opcja pod kątem reorganizacji struktury strony lub zmiany nazw podstron.
3. Jak wykorzystać .htaccess do tworzenia przyjaznych linków?
Przyjazne linki, znane również jako przyjazne adresy URL, są istotne pod kątem SEO i poprawy użyteczności strony. Aby przekształcić standardowe adresy URL skryptów PHP w czytelne dla użytkownika ścieżki, wykorzystaj mod_rewrite w pliku .htaccess. Należy w tym celu dodać regułę, która przepisuje adresy URL. Przykład poniższy kod umożliwia dostęp do podstron bez potrzeby podawania rozszerzenia .php:
css
RewriteEngine On RewriteRule ^nazwa-podstrony$ nazwa-podstrony.php [L]
Dzięki temu użytkownik odwiedzający Twoją stronę, wpisując www.twojadomena.com/nazwa-podstrony, zostanie przekierowany do odpowiedniej strony nazwa-podstrony.php bez bezpośredniego wskazywania na rozszerzenie pliku. Ułatwia to zapamiętywanie adresów i sprawia, że są one bardziej estetyczne z punktu widzenia odbiorcy.
Podobne wpisy na blogu
Nadal nie jesteś pewny, że współpraca z AdEverest
to korzyść dla Twojego biznesu?
Zachęcamy do kontaktu przez pozostawienie swoich danych kontaktowych. Oddzwonimy do Ciebie w przeciągu 48 godzin. Konsultacja jest darmowa.