Plik .htaccess to ukryty plik konfiguracyjny używany w serwerach Apache, który umożliwia administratorom stron internetowych zarządzanie ustawieniami serwera na poziomie katalogu. Można go wykorzystać do modyfikowania wielu ustawień i zachowań serwera bez konieczności edytowania głównych plików konfiguracyjnych serwera. Plik .htaccess jest szczególnie przydatny w przypadku, gdy nie masz dostępu do głównej konfiguracji serwera, a chcesz wprowadzić zmiany na poziomie poszczególnych katalogów.
Bartłomiej Szczęśniak dnia 2025-04-19
Funkcje pliku .htaccess
Plik .htaccess
pozwala na wykonywanie wielu operacji związanych z bezpieczeństwem, optymalizacją oraz dostępem do strony.
Przekierowania (Redirects)
Jedną z głównych funkcji pliku .htaccess
jest możliwość ustawiania przekierowań. Przekierowania pomagają, gdy zmieniasz strukturę URL lub chcesz, aby odwiedzający stronę zostali automatycznie przeniesieni na nowy adres. Oto przykład przekierowania:
301 Redirect (trwałe przekierowanie)
Redirect 301 /old-page.html https://widzialny.com/new-page.html
To przekierowanie informuje wyszukiwarki i użytkowników, że strona została na stałe przeniesiona na inny adres. Jest to istotne z punktu widzenia SEO, ponieważ pomaga zachować autorytet strony.
Zabezpieczenia
Plik .htaccess
umożliwia również kontrolowanie dostępu do określonych katalogów lub plików na stronie. Możesz ustawić hasło, ograniczyć dostęp do niektórych adresów IP lub zablokować dostęp do określonych plików:
Hasło chronione katalogu:
<Files "example.html">
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /ścieżka/do/.htpasswd
Require valid-user
</Files>
Blokowanie dostępu do plików:
<Files ".ht*">
Order Allow,Deny
Deny from all
</Files>
Zmiana struktury URL (Friendly URLs)
Plik .htaccess
pozwala na tworzenie przyjaznych adresów URL (tzw. „pretty URLs”), które są bardziej zrozumiałe dla użytkowników i wyszukiwarek. Zamiast używać URL-i z długimi parametrami, możesz stworzyć proste i czytelne adresy.
Przykład:
RewriteEngine On
RewriteRule ^produkty/([0-9]+)/([a-zA-Z0-9-]+)/$ /produkty.php?id=$1&nazwa=$2 [L]
W powyższym przykładzie, użytkownicy mogą zobaczyć adres /produkty/123/produkt-nazwa/
, który jest znacznie łatwiejszy do zapamiętania niż klasyczny adres z parametrami.
Optymalizacja wydajności
Plik .htaccess
pozwala również na zwiększenie wydajności strony internetowej. Możesz skonfigurować serwer, aby wykorzystywał mechanizmy cache’owania, co przyspiesza ładowanie strony przez użytkowników.
Przykład ustawienia cache:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>
5. Zabronienie dostępu
Czasami chcesz zablokować dostęp do określonych plików lub katalogów na stronie, np. zapobiec bezpośredniemu dostępowi do plików konfiguracyjnych lub logów. Możesz to zrobić za pomocą pliku .htaccess
:
# Zablokowanie dostępu do pliku .env
<Files .env>
Order Allow,Deny
Deny from all
</Files>
Zarządzanie błędami (Error Handling)
Plik .htaccess
pozwala na konfigurację stron błędów, takich jak 404 (strona nie znaleziona) lub 500 (błąd serwera). Możesz ustawić stronę, która będzie wyświetlana użytkownikowi, gdy wystąpi błąd.
Przykład strony błędu 404:
ErrorDocument 404 /404.html
Wspieranie kompresji i szyfrowania
Możesz skonfigurować plik .htaccess
, aby obsługiwał kompresję GZIP, co pozwala na zmniejszenie rozmiaru strony i przyspieszenie jej ładowania.
Przykład kompresji:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/xml text/css application/javascript
</IfModule>
Podsumowanie
Plik .htaccess
jest niezwykle potężnym narzędziem dla administratorów stron internetowych, które pozwala na zaawansowane zarządzanie konfiguracją serwera na poziomie pojedynczych katalogów. Dzięki .htaccess
możesz poprawić bezpieczeństwo, zoptymalizować stronę, skonfigurować przekierowania, poprawić SEO oraz dostosować wiele innych aspektów strony internetowej. Pamiętaj jednak, że nieprawidłowe użycie tego pliku może prowadzić do problemów z dostępem do strony, dlatego zawsze wykonuj kopię zapasową i testuj wprowadzone zmiany.