Jak mogę przekierować i przepisać moje adresy URL za pomocą pliku .htaccess?
Jeśli prowadzisz stronę internetową na serwerze Apache, plik .htaccess jest jednym z najpotężniejszych narzędzi, które masz do dyspozycji. Pozwala on kontrolować, jak zachowują się Twoje adresy URL — od przekierowań po czyste przepisywanie URL — bez potrzeby zmiany rzeczywistej konfiguracji serwera.
W tym artykule omówimy podstawy przekierowania i przepisywania URL za pomocą .htaccess, z wyraźnymi przykładami i wyjaśnieniami.
Czym jest plik .htaccess?
.htaccess oznacza Hypertext Access. Jest to plik konfiguracyjny używany na serwerach internetowych opartych na Apache, który pozwala na wprowadzenie zmian na poziomie katalogu w zachowaniu serwera.
Możesz:
Przekierować ruch z jednego adresu URL na inny
Utworzyć czyste adresy URL (np. /about zamiast /about.php)
Ograniczyć dostęp do niektórych stron
Włączyć HTTPS
I wiele więcej
Przekierowywanie adresów URL
1. 301 Przekierowanie trwałe
Użyj tego, gdy strona została trwale przeniesiona na nowy adres URL.
Redirect 301 /old-page.html https://yourdomain.com/new-page.html2. 302 Przekierowanie tymczasowe
Użyj tego, gdy przekierowanie jest tymczasowe.
Redirect 302 /temp-page.html https://yourdomain.com/coming-soon.html3. Przekierowanie z użyciem mod_rewrite
Możesz również przekierować używając RewriteRule:
RewriteEngine On
RewriteRule ^old-page$ https://yourdomain.com/new-page [R=301,L]Przepisywanie adresów URL (Czyste adresy URL)
Przepisywanie adresów URL jest używane do uczynienia adresów URL bardziej przyjaznymi dla użytkowników i SEO. Na przykład, zamiast:
https://example.com/product.php?id=123Możesz użyć:
https://example.com/product/1231. Podstawowa zasada przepisywania
RewriteEngine On
RewriteRule ^product/([0-9]+)$ product.php?id=$1 [L]To mówi Apache:
Gdy ktoś uzyskuje dostęp do /product/123
Wewnątrz przepisz to na product.php?id=123
2. Usuń rozszerzenie .php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)$ $1.php [L]To pozwala użytkownikom uzyskać dostęp do example.com/about zamiast example.com/about.php.
Najlepsze praktyki
Zawsze wykonuj kopię zapasową swojego pliku .htaccess przed wprowadzeniem zmian.
Użyj [L], aby zatrzymać dalsze przetwarzanie reguł, gdy znajdziesz dopasowanie.
Testuj swoje przekierowania za pomocą narzędzi takich jak httpstatus.io.
Nie mieszaj zbyt wielu Redirect i RewriteRule w tym samym bloku — preferuj RewriteRule dla spójności.
Podsumowanie
Plik .htaccess jest potężnym narzędziem konfiguracyjnym, które daje Ci szczegółową kontrolę nad Twoją stroną internetową opartą na Apache — często bez dotykania podstawowych plików serwera. Niezależnie od tego, czy chcesz przekierować przestarzałe strony, wymusić HTTPS, poprawić SEO poprzez czyste adresy URL, czy ograniczyć dostęp do wrażliwych obszarów, .htaccess umożliwia to wszystko za pomocą zaledwie kilku linii kodu.
Zrozumienie i opanowanie nawet kilku dyrektyw .htaccess może znacznie poprawić wydajność, bezpieczeństwo i użyteczność Twojej strony internetowej. Pozwala to szybko reagować na zmiany w strukturze witryny, zapobiegać uszkodzonym linkom i utrzymywać spójną obsługę dla Twoich odwiedzających.
Praktyczny przykład: Przekierowywanie starych adresów URL na nowe
Wyobraź sobie, że przebudowałeś swojego bloga i chcesz przekierować ruch z przestarzałego wpisu na nowe miejsce:
Ta prosta linia zapewnia, że:
Wyszukiwarki przenoszą wartość SEO na nowy adres URL
Użytkownicy nie trafiają na stronę 404
Przekierowania odbywają się natychmiast z kodem statusu 301 (trwałe)


