Do czego służy plik .htaccess?

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 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.