Generator przekierowań .htaccess
Generuj przekierowania 301 i 302 dla .htaccess lub Nginx, wymuś HTTPS i www, przenieś domenę i popraw ukośniki, z wykrywaniem pętli i łańcuchów.
Najpierw zrób kopię zapasową obecnej konfiguracji i testuj z kodem 302, zanim przejdziesz na 301: przeglądarki zapamiętują stałe przekierowania.
Kontrola
Nie znaleziono problemów.
Jak korzystać z generatora przekierowań .htaccess
- Wybierz Serwer: Apache (.htaccess) lub Nginx, a następnie Typ przekierowania: 301 – stałe lub 302 – tymczasowe.
- W polu Przekierowania stron wpisz jedno przekierowanie na linię: starą ścieżkę, spację i nowy URL, np.
/stara-strona.html /nowa-strona/. Działa też tabulator, przecinek lub->, a do tego możesz wkleić pełne stare adresy albo istniejące linieRedirect 301 /a /b. - Opcjonalnie wpisz Twoja domena (opcjonalnie) (np.
example.com), aby przekierowania stron prowadziły od razu do adresu docelowego. - W sekcji Adres kanoniczny zaznacz Wymuś HTTPS i wybierz Wymuś www, Usuń www lub Zostaw www bez zmian. W sekcji Ukośnik na końcu zdecyduj, czy go dodawać, czy usuwać.
- Jeśli cała strona zmieniła adres, wypełnij Przenieś całą domenę, podając Stara domena i Nowy adres (bezwzględny URL), i zostaw zaznaczone Zachowaj ścieżkę, aby każda podstrona trafiła na swój odpowiednik.
- Przeczytaj sekcję Kontrola, a potem Kopiuj lub Pobierz reguły. Wczytaj przykład pokazuje kompletną konfigurację.
Jak działają wygenerowane reguły
Dla Apache narzędzie tworzy reguły mod_rewrite, zaczynając od jednego RewriteEngine On. Każda strona staje się regułą RewriteRule ze wzorcem zaczynającym się od ^/?, więc działa zarówno w pliku .htaccess (gdzie początkowy ukośnik jest usuwany), jak i w bloku <VirtualHost>. Kropki, nawiasy, plusy i inne znaki specjalne wyrażeń regularnych w ścieżkach są escapowane, a spacja zamienia się w \x20. W nowym adresie URL escapowane są $ i %, bo Apache odczytałby je jako odwołania wsteczne, a flaga NE zapobiega ponownemu kodowaniu adresu przez Apache.
RewriteRule nigdy nie widzi query stringa. Gdy stary adres go zawiera, np. /product.php?id=42, narzędzie dodaje linię RewriteCond %{QUERY_STRING} ^id=42$ i flagę QSD, dzięki czemu stare parametry są odrzucane zamiast kopiowane na nową stronę.
Reguły są ułożone tak, by uniknąć zbędnych przeskoków: najpierw przeniesienie domeny, potem przekierowania stron, następnie ukośnik na końcu, a na końcu HTTPS i www. HTTPS i www obsługuje jedna reguła, więc http://www.example.com trafia na https://example.com jednym przekierowaniem. Gdy domena jest znana, przekierowania stron i ukośnika od razu wskazują na docelowy adres HTTPS.
W Nginx HTTPS, www i przeniesienie domeny stają się osobnymi blokami server z return 301, a przekierowania stron – liniami rewrite do wklejenia w głównym bloku server. Wykonują się przed dopasowaniem location, więc mają też pierwszeństwo przed regułą ukośnika. Znak ? na końcu celu zapobiega doklejaniu przez Nginx starego query stringa tam, gdzie nie powinien.
Co jest sprawdzane
- Strona przekierowująca sama na siebie lub dwie strony przekierowujące wzajemnie (pętla kończąca się błędem „zbyt wiele przekierowań”).
- Łańcuchy typu A → B → C: skieruj A bezpośrednio na C, bo każdy dodatkowy przeskok spowalnia odwiedzających i marnuje budżet indeksowania.
- Ten sam stary adres wpisany dwa razy – zadziała tylko pierwsza reguła.
- Cel, który nie jest ani bezwzględnym adresem URL, ani ścieżką zaczynającą się od
/, albo cel zhttp://lub niewłaściwym www w twojej własnej domenie. - Ustawienie ukośnika, które ponownie przekierowałoby cel albo odesłało go do źródła.
Wszystko działa w twojej przeglądarce – nic, co wpiszesz, nie jest wysyłane na serwer.
Najczęściej zadawane pytania
301 czy 302?
Użyj 301, gdy zmiana jest trwała: wyszukiwarki przenoszą sygnały starej strony na nową i aktualizują indeks. Użyj 302 przy zmianach tymczasowych, np. przerwie technicznej lub krótkiej kampanii. Przeglądarki zapamiętują przekierowania 301, więc najpierw testuj z 302.
Gdzie umieścić plik .htaccess?
W katalogu głównym strony (często public_html lub www), obok index.php lub index.html. Pobrany plik nazywa się htaccess.txt; zmień nazwę na .htaccess albo wklej reguły na początku istniejącego pliku. Zachowaj kopię oryginału.
Dlaczego RewriteRule zamiast Redirect 301?
Linie Redirect pochodzą z mod_alias i wykonują się w innej fazie niż RewriteRule. Mieszanie obu w jednym pliku sprawia, że kolejność trudno przewidzieć. Korzystanie tylko z mod_rewrite utrzymuje wszystkie reguły w jednej przewidywalnej sekwencji i pozwala dopasowywać query stringi.
Po wymuszeniu HTTPS strona pokazuje „zbyt wiele przekierowań”. Dlaczego?
Za load balancerem, CDN lub proxy, które obsługuje HTTPS, Apache widzi każde żądanie jako zwykłe HTTP, więc %{HTTPS} jest zawsze wyłączone. Sprawdzaj wtedy przekazywany nagłówek, np. RewriteCond %{HTTP:X-Forwarded-Proto} !https, albo włącz przekierowanie w CDN.
Czy to narzędzie zmienia coś na moim serwerze?
Nie. Generuje jedynie tekst w twojej przeglądarce. Nic nie jest nigdzie wysyłane, a ty decydujesz, gdzie i jak zainstalować reguły.
Podobne narzędzia
- Generator pliku robots.txt Utwórz poprawny plik robots.txt z grupami user-agent, regułami Allow i Disallow, mapami witryny i crawl-delay, z wykrywaniem typowych błędów.
- Generator tagów hreflang Generuj tagi hreflang dla stron wielojęzycznych jako tagi HTML link, wpisy mapy witryny XML lub nagłówki HTTP Link, z kontrolą kodów ISO i wzajemności.
- Generator meta tagów Darmowy generator meta tagów: tytuł, meta opis, adres kanoniczny, robots i viewport, z kontrolą długości i poprawnie escapowanym kodem HTML.
- Koder i dekoder URL Darmowy koder i dekoder URL. Koduj procentowo parametry zapytań lub całe adresy, dekoduj sekwencje %XX i obsługuj + jako spację. Działa w przeglądarce.