W tym artykule
Czym jest .htaccess?
Plik .htaccess (hypertext access) to plik konfiguracyjny na poziomie katalogu dla serwerów web Apache. Pozwala nadpisywać ustawienia serwera na poziomie katalogu bez edycji głównej konfiguracji. Typowe zastosowania: przekierowania URL, kontrola dostępu, reguły cache i niestandardowe strony błędów.
Plik .htaccess jest czytany przez Apache przy każdym żądaniu, co oznacza, że zmiany działają natychmiast bez restartu serwera. To standardowa metoda konfiguracji na hostingu współdzielonym.
Jak działa konfiguracja .htaccess
Apache przetwarza dyrektywy .htaccess za pomocą systemu modułów, a mod_rewrite jest najczęściej używanym modułem do manipulacji URL.
- Przepisywanie i przekierowania URL — reguły mod_rewrite przekształcają URL za pomocą wyrażeń regularnych dla czystych URL i wymuszonego HTTPS
- Cache i kompresja — ustaw nagłówki cache przeglądarki z mod_expires i włącz kompresję GZIP z mod_deflate
- Kontrola dostępu — ogranicz dostęp po IP, wymagaj uwierzytelniania przez .htpasswd lub blokuj określone user agenty
Wypróbuj za darmo — bez rejestracji
Wygeneruj reguły .htaccess →Kiedy używać generatora .htaccess
Ręczne pisanie reguł .htaccess wymaga znajomości składni dyrektyw Apache i wyrażeń regularnych.
- Wymuszenie HTTPS — przekieruj cały ruch HTTP na HTTPS jedną regułą
- Ochrona przed hotlinkowaniem — zapobiegaj osadzaniu Twoich obrazów na innych stronach
- Niestandardowe strony błędów — zdefiniuj własne strony 404 i 500
Często zadawane pytania
Jaka jest różnica między .htaccess a httpd.conf?
httpd.conf to główny plik konfiguracyjny Apache, ładowany raz przy starcie. .htaccess jest czytany przy każdym żądaniu i dotyczy tylko swojego katalogu. httpd.conf jest szybszy, ale .htaccess jest niezbędny na hostingu współdzielonym.
Czy .htaccess wpływa na wydajność serwera?
Tak, nieznacznie. Apache sprawdza .htaccess przy każdym żądaniu. Dla obciążonych stron przenieś dyrektywy do httpd.conf. Dla większości stron wpływ jest pomijany.
Jaki jest odpowiednik .htaccess w Nginx?
Nginx nie obsługuje plików .htaccess. Cała konfiguracja trafia do bloku server w nginx.conf. Nginx przeładowuje konfigurację tylko na jawne polecenie.