Generator przekierowań .htaccess
Reguły 301 z listy stary → nowy
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator przekierowań 301 — zmiana adresów bez utraty SEO
Gdy zmienia się adres strony, stary URL powinien trwale przekierowywać na nowy. Przekierowanie 301 mówi wyszukiwarce, że zasób zmienił miejsce na stałe, i przenosi jego wartość SEO.
Jak zapisać przekierowania?
Wpisz każdą parę w osobnej linii, w formacie /stary-adres /nowy-adres. Generator zamieni to na reguły RewriteRule gotowe do wklejenia na początek pliku .htaccess.
Typy przekierowań
| Kod | Znaczenie |
|---|---|
| 301 | przeniesienie trwałe — przenosi SEO |
| 302 | przeniesienie tymczasowe |
| 307 | przekierowanie z zachowaniem metody HTTP |
| 308 | trwałe z zachowaniem metody HTTP |
Dobre praktyki
- Przekierowuj bezpośrednio na docelowy adres — unikaj łańcuchów A → B → C.
- Nie przekierowuj wszystkich adresów na stronę główną — to szkodzi SEO.
- Testuj reguły po wdrożeniu, sprawdzając kody odpowiedzi.
- Reguły przekierowań umieszczaj przed regułami przepisywania aplikacji.
Jak działa generator przekierowań .htaccess
Mechanizm opiera się na module mod_rewrite serwera Apache. W pliku .htaccess pojedyncza reguła składa się z dwóch części: wzorca, czyli starego adresu, oraz adresu docelowego. Generator bierze każdą parę zapisaną w polu tekstowym i zamienia ją na jedną linię RewriteRule z kodem przekierowania w nawiasie kwadratowym, na przykład R=301 oraz L. Serwer porównuje adres żądany przez przeglądarkę ze wzorcem, a gdy ten pasuje, odsyła użytkownika pod nowy adres i przestaje przetwarzać dalsze reguły.
Liczba wygenerowanych reguł równa się liczbie par. Cztery pary to cztery reguły, pięć par to pięć reguł. Kolejność ma znaczenie, bo plik czytany jest od góry do dołu i wygrywa pierwsze dopasowanie, dlatego reguły przekierowań umieszcza się nad regułami przepisywania aplikacji. Jeśli chcesz, aby parametry zapytania z adresu wejściowego trafiły na nowy adres, potrzebna jest dodatkowa flaga doklejająca je do celu.
O zachowaniu przekierowania decyduje kod wybrany w narzędziu. Kod trwały mówi przeglądarce i wyszukiwarce, że adres zmienił się na stałe, kod tymczasowy traktuje zmianę jako przejściową. Kody z zachowaniem metody HTTP przydają się wtedy, gdy pod stary adres wysyłane są dane formularza metodą POST, ponieważ zwykłe przekierowanie mogłoby tę metodę zmienić.
Przykład: cztery pary adresów krok po kroku
- Zbierasz stare i nowe adresy. Załóżmy, że przenosisz cztery podstrony: stary adres oferty na nowy adres oferty, stary cennik na nowy cennik, stary formularz kontaktowy na nową stronę kontaktu oraz stary wpis blogowy na nowy wpis. To cztery pary, czyli cztery wiersze danych wejściowych.
- W polu tekstowym zapisujesz każdą parę w osobnej linii, oddzielając stary adres od nowego spacją. Razem daje to cztery linie.
- Wybierasz kod 301, bo zmiana adresów jest trwała. Opcję zachowania parametrów zapytania zostawiasz wyłączoną, jeśli stare adresy nie były wykorzystywane w kampaniach ze znacznikami śledzącymi.
- Generator zamienia cztery linie na cztery reguły RewriteRule. Dodanie piątej pary da pięć reguł, a szóstej sześć reguł, więc liczbę reguł zawsze policzysz, licząc wiersze wejściowe.
- Wklejasz wynik na początek pliku .htaccess, nad reguły aplikacji, i testujesz każdą parę osobno. Wejście na stary adres oferty powinno zwrócić kod 301 i przenieść na nowy adres oferty. Przy czterech parach oznacza to cztery testy.
- Jeśli któryś stary adres zwraca 404 zamiast 301, sprawdź literówkę we wzorcu oraz to, czy reguła na pewno znajduje się nad regułami przepisywania aplikacji.
Jak wpisy w polu tekstowym zamieniają się na reguły
| Wpis w polu tekstowym | Co z niego powstaje | Kiedy wystarcza |
|---|---|---|
| Jedna para: stary adres oraz nowy adres | Jedna reguła RewriteRule dla tej pary | Pojedyncza zmiana adresu podstrony |
| Kilka par, każda w osobnej linii | Tyle reguł, ile linii z parą | Migracja kilku adresów jednocześnie |
| Wybrany kod 301 | Reguła z przekierowaniem trwałym | Stała zmiana struktury adresów |
| Wybrany kod 302 | Reguła z przekierowaniem tymczasowym | Testy, prace serwisowe, wersja sezonowa |
| Wybrany kod 307 | Przekierowanie tymczasowe z zachowaniem metody HTTP | Gdy pod stary adres trafiają żądania POST |
| Wybrany kod 308 | Przekierowanie trwałe z zachowaniem metody HTTP | Trwała zmiana adresu obsługującego POST |
| Kolejność par w polu | Kolejność reguł w pliku, od góry do dołu | Gdy jeden adres pasuje do dwóch wzorców |
Praktyczne wskazówki przy wdrażaniu reguł
- Zapisuj adresy tak, jak występują w linkach — bez doklejania domeny, jeśli stare adresy były zwykłymi ścieżkami. Wzorzec musi odpowiadać temu, co wpisuje użytkownik i co jest w indeksie wyszukiwarki.
- Testuj po jednej regule — po wdrożeniu sprawdź każdy stary adres i kod odpowiedzi. Najszybciej zrobisz to w narzędziach deweloperskich przeglądarki albo narzędziem wiersza poleceń sprawdzającym nagłówki.
- Zrób kopię pliku przed edycją — błędny wpis w .htaccess potrafi wyłączyć całą stronę, a przywrócenie poprzedniej wersji zajmuje chwilę tylko wtedy, gdy masz ją zapisaną.
- Unikaj łańcuchów przekierowań — jeśli stary adres prowadzi do pośredniego, a ten do docelowego, wpisz od razu parę ze starego na docelowy. Każde ogniwo to dodatkowe żądanie i wolniejsze wczytywanie.
- Sprawdź, czy nowy adres zwraca poprawną odpowiedź — przekierowanie na adres, który kończy się błędem 404, nie spełnia swojego zadania ani dla użytkownika, ani dla wyszukiwarki.
Czego narzędzie nie uwzględnia
- Brak wyrażeń regularnych i wzorców — generator pracuje na konkretnych parach adresów, więc nie stworzy reguły obejmującej całą sekcję serwisu ani wzorca z symbolem zastępczym. Takie reguły trzeba napisać ręcznie w konfiguracji serwera.
- Brak weryfikacji adresów docelowych — narzędzie nie sprawdza, czy nowy adres istnieje i zwraca poprawną odpowiedź. Literówka w adresie docelowym pozostanie niewykryta do momentu testu.
- Brak wiedzy o konfiguracji hostingu — jeśli serwer działa na Nginx albo reguły aplikacji nadpisują plik .htaccess, wygenerowany kod nie zadziała lub zostanie usunięty przy zapisie ustawień.
- Brak kontekstu przekierowań spoza pliku — narzędzie nie widzi przekierowań ustawionych w wtyczkach, panelu hostingu czy bazie danych. Nakładające się reguły z różnych miejsc mogą tworzyć łańcuchy albo pętle.
Najczęstsze pytania
Czym różni się 301 od 302?
301 oznacza zmianę trwałą, a 302 tymczasową. Wyszukiwarki przenoszą wartość linków przy 301, a przy 302 traktują zmianę jako przejściową.
Zachowywać parametry zapytania?
Zwykle nie, chyba że są potrzebne do śledzenia (np. UTM). Włącz opcję zachowania parametrów, jeśli mają trafiać na nowy adres.
Czy mogę przekierować całą domenę?
Tak, ale lepiej robić to regułą w konfiguracji serwera niż pojedynczymi wpisami. Ten generator tworzy przekierowania pojedynczych adresów.
Czy generator przekierowań .htaccess zadziała na Nginx?
Nie. Plik .htaccess obsługuje Apache oraz serwery z nim zgodne, na przykład LiteSpeed. Na Nginx przekierowania wpisuje się bezpośrednio w konfiguracji serwera, w bloku server.
Gdzie dokładnie wkleić wygenerowane reguły?
Na początek pliku .htaccess, przed regułami przepisywania aplikacji. Wklejone niżej mogą zostać pominięte, bo żądanie najpierw trafi do pliku index.php.
Jak przekierować wiele adresów jednocześnie?
Każdą parę zapisz w osobnej linii. Generator wypisze tyle reguł, ile par podałeś, więc cztery pary oznaczają cztery reguły w pliku.
Czy przekierowanie 301 działa natychmiast po wklejeniu?
Serwer zaczyna je stosować od razu po zapisaniu pliku i kod odpowiedzi możesz sprawdzić od razu. Odświeżenie indeksu w wyszukiwarkach trwa dłużej i zależy od ich harmonogramu.
Co zrobić, gdy po przekierowaniu adres wpada w pętlę?
Sprawdź, czy nowy adres nie ma osobnej reguły prowadzącej z powrotem do starego. Pary ustawione w obie strony tworzą pętlę, więc jedną z nich trzeba usunąć.