Hosting i domeny

Przekierowanie 301: www, HTTPS i zmiana adresu strony

Jak zaplanować przekierowania 301 w Apache bez pętli i utraty podstron. Przykład .htaccess oraz testowanie łańcucha przekierowań.

KRÓTKA ODPOWIEDŹ

301 stosuj dla trwałej zmiany adresu. Stara podstrona powinna prowadzić bezpośrednio do odpowiadającej jej nowej podstrony, a nie automatycznie na stronę główną.

Wybierz jeden docelowy adres

Ustal, czy witryna ma działać z www czy bez oraz że wersją docelową jest HTTPS. Od tej decyzji zależą linki wewnętrzne, canonical i sitemap. Wszystkie te elementy powinny wskazywać ten sam wariant. Inaczej robot może poznawać kilka adresów tej samej treści.

301 jest przekierowaniem trwałym. Dla tymczasowej zmiany wybierz kod odpowiedni do celu i sposobu obsługi żądania. Przy formularzach i API zwróć uwagę na metodę HTTP: 307 i 308 zachowują metodę, a historyczne zachowanie klientów przy 301 i 302 może ją zmieniać. Nie stosuj reguły całej witryny bez sprawdzenia punktów końcowych aplikacji.

Przykład dla Apache bez zewnętrznego proxy

Poniższa reguła wymaga mod_rewrite i możliwości używania .htaccess. Zastąp example.com własną domeną. Przed edycją zachowaj kopię pliku. Regułę umieść przed regułami routingu CMS: ``apache RewriteEngine On RewriteCond %{HTTPS} !=on [OR] RewriteCond %{HTTP_HOST} !^example\.com$ [NC] RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L] `` Ten przykład zakłada, że Apache rozpoznaje szyfrowane połączenie użytkownika. Za reverse proxy lub CDN zmienna HTTPS może dotyczyć tylko połączenia proxy→serwer. Użycie reguły bez uwzględnienia takiego układu może wywołać pętlę. Wtedy uzgodnij właściwą konfigurację z administratorem; nie ufaj dowolnemu nagłówkowi przesłanemu przez klienta.

Pojedyncza podstrona i mapa migracji

Dla konkretnej zmiany można zastosować w odpowiednim kontekście Apache: ``apache Redirect 301 /stary-poradnik https://example.com/nowy-poradnik/ `` Dyrektywa Redirect dopasowuje prefiksy ścieżek. Przy większej mapie lub wymaganiu dopasowania dokładnego adresu zaplanuj reguły starannie, żeby nie obejmowały niezamierzonych podstron. Nie mieszaj kilkunastu ogólnych reguł z automatycznymi przekierowaniami CMS bez testu.

W arkuszu zapisz stary URL, nowy URL i powód zmiany. Jeżeli artykuł nie ma zamiennika, nie udawaj, że strona główna jest jego odpowiednikiem. Rozważ zachowanie materiału albo poprawną odpowiedź 404 lub 410 zgodnie z decyzją o jego usunięciu.

Jak sprawdzić efekt

bash
curl -I http://example.com/stara-sciezka/
curl -IL --max-redirs 5 http://example.com/stara-sciezka/

Sprawdź kod, nagłówek Location i końcowy adres. Żądanie HEAD może być obsługiwane inaczej przez niektóre aplikacje, dlatego dodatkowo otwórz adres w przeglądarce lub wykonaj test GET. Docelowa strona powinna działać i wskazywać własny canonical.

Unikaj łańcucha HTTP→HTTPS→www→nowa podstrona, jeśli można wykonać przejście bezpośrednie. Popraw stare linki wewnętrzne zamiast polegać wyłącznie na przekierowaniach. Migracja hostingu nie wymaga zmiany URL, gdy domena i ścieżki pozostają te same.

Czego nie załatwi samo 301

Nie naprawi słabej treści ani błędu serwera docelowego. Nie gwarantuje też natychmiastowego przeindeksowania. Po wdrożeniu sprawdź Search Console i nową mapę witryny. Jeżeli nie masz dostępu do konfiguracji serwera, zapytaj obsługę swojego hostingu, w tym Castpol, jakie reguły są wspierane.

Źródła i dokumentacja

Dokumentacja do dalszej weryfikacji ustawień i wymagań swojej wersji.

c.
Castpol Blog

Poradnik wydawany przez Castpol. O blogu · Zgłoś poprawkę

KOLEJNY KROK

Te poradniki uzupełniają temat