Potrzebujesz pomocy ze stroną? Znajdź swojego specjalistę w dziale VEDOS Profi ⧉.
W tym artykule dowiesz się:
- Kiedy skorzystać z tego poradnika
- Czym jest plik .htaccess i do czego służy
- Jak przywrócić domyślny plik .htaccess
- Jak skonfigurować .htaccess
- Które polecenia są w pliku .htaccess zablokowane
- Typowe problemy
- Często zadawane pytania
Kiedy skorzystać z tego poradnika
Skorzystaj z tego poradnika na przykład w następujących sytuacjach:
- Subdomena lub dodatkowa domena wyświetla treść strony głównej albo linki prowadzą na adresy z /domains/. Zobacz Subdomena wyświetla inną stronę.
- Po edycji pliku .htaccess wyświetla się Internal Server Error lub Too Many Redirects. Zobacz Nowe ustawienia nie działają.
- Wtyczka bezpieczeństwa WordPressa zgłasza błąd open_basedir restriction in effect dla pliku .htaccess. Zobacz Wtyczka zgłasza open_basedir.
- Musisz przywrócić domyślny plik .htaccess, ponieważ został usunięty lub uszkodzony, albo zakładasz nową stronę w miejscu starej. Procedurę znajdziesz w rozdziale Restore default .htaccess.
- Chcesz wymusić HTTPS, przekierować stary adres lub ograniczyć dostęp według adresu IP. Zobacz Konfiguracja pliku .htaccess.
- Strona, na przykład edytor stron, ładuje skrypty niestabilnie. Możesz spróbować wyłączyć proxy cache.
Plik .htaccess
Plik .htaccess (na początku musi być kropka) zawiera ustawienia serwera Apache, które sterują działaniem webhostingu. Do najczęstszych zastosowań należą kierowanie w strukturze katalogów webhostingu, wymuszanie HTTPS, przekierowywanie adresów internetowych i wyłączanie proxy cache.
Dostęp do pliku .htaccess
Aby uzyskać dostęp do pliku .htaccess postępuj w następujący sposób:
- Zaloguj się do hostingu przez FTP, na przykład za pomocą klienta WebFTP ⧉ (Manual).
- Wejdź do katalogu www.
- Wśród plików znajdź plik o nazwie .htaccess.

Reguły w domyślnym pliku .htaccess dotyczą wszystkich stron. Reguły w plikach .htaccess w innych katalogach (często na przykład www/domains/domena.tld) dotyczą wyłącznie zawartości danego katalogu i wszystkich jego podkatalogów.
Plików .htaccess możesz mieć więcej niż jeden – zależy to od liczby katalogów, w których chcesz ustawić określone reguły.
Restore default .htaccess
Jeśli nie udaje się znaleźć przyczyny błędu spowodowanego zmodyfikowanym domyślnym plikiem .htaccess albo plik został przypadkowo usunięty, możesz go przywrócić bezpośrednio w administracji klienta.
- Zaloguj się do administracji klienta ⧉.
- W górnym menu wybierz Hosting services Webhosting lub WMS.
- Wybierz webhosting, w którym chcesz przywrócić plik .htaccess.
- W menu po lewej stronie kliknij Tools.
- W tabeli Restore default .htaccess kliknij przycisk Restore .htaccess.

Przywracając domyślny plik .htaccess tym przyciskiem, jednocześnie tworzysz kopię zapasową dotychczasowego pliku, którą system skopiuje do tego samego katalogu.
Przycisk przywraca wyłącznie plik .htaccess w katalogu www. Inne pliki .htaccess, na przykład utworzone przez systemy CMS, trzeba przywrócić w inny sposób.
Domyślny plik .htaccess nie zawiera reguł dla HTTPS. Jeśli używasz HTTPS, dodaj reguły do przywróconego pliku ręcznie.
Konfiguracja pliku .htaccess
Warunki i polecenia w pliku .htaccess używają wyrażeń regularnych. Jeśli ich nie znasz, nadal możesz edytować plik, ale zachowaj szczególną ostrożność i korzystaj z instrukcji. Niedziałający plik .htaccess powoduje błąd 500 – Internal Server Error.
Zanim zaczniesz edytować plik .htaccess, utwórz jego kopię zapasową.
W tym rozdziale znajdziesz instrukcje dotyczące:
- Kierowanie w strukturze katalogów webhostingu
- Konfiguracja HTTPS
- Przekierowywanie adresów internetowych
- Wyłączenie proxy cache
Kierowanie w strukturze katalogów Webhostingu
Głównym zadaniem naszego domyślnego pliku .htaccess jest kierowanie żądań do właściwych katalogów Webhostingu, zwłaszcza domains i subdom. Jeśli zauważasz błędy w nawigowaniu po katalogach, popraw plik .htaccess tak, aby zawierał poniższy tekst, lub całkowicie go przywróć.
RewriteEngine On
# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]
# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]
# aliasy - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]
# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]
Konfiguracja HTTPS
Podczas aktywacji HTTPS ustawiasz między innymi regułę .htaccess, która wybiera wariant z HTTPS jako domyślny. Wpisz ją bezpośrednio do pliku .htaccess w katalogu www, tuż pod wierszem RewriteEngine On.
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy "upgrade-insecure-requests;"
Dodanie tego kodu może spowodować zablokowanie naszego instalatora aplikacji. Jeśli podczas instalacji napotkasz problem z plikiem .htaccess, tymczasowo go przywróć a po udanej instalacji ponownie nadpisz go automatycznie utworzoną kopią zapasową.
Domyślny plik .htaccess nie zawiera reguł dla HTTPS. Jeśli plik został przywrócili i chcesz używać reguł dla HTTPS, dodaj je ponownie.
Przekierowanie URL
Poniższa reguła, znana jako przekierowanie 301, informuje przeglądarkę i wyszukiwarki, że strona została trwale przeniesiona ze starego adresu na nowy. Dzięki temu zwłaszcza wyszukiwarki nie będą traktować przeniesionej treści jako zduplikowanej.
Skopiuj poniższy tekst i wklej go do pliku .htaccess pod wierszem RewriteEngine On. Następnie zmodyfikuj go według poniższych zasad:
- W tekście
staraadresa\.tldzastąp tekst staraadresa adresem, z którego następuje przekierowanie, a tld zastąp właściwą końcówką. Upewnij się, że przed znakiem . (kropką) znajduje się znak \ (ukośnik wsteczny). - W tekście
http://novaadresa.tldzastąp novaadresa.tld adresem, na który przekierowujesz stronę. Jeśli nowy adres używa https, zmień też tekst http. - Jeśli chcesz przekierowywać na stronę główną nowego adresu, usuń w drugim wierszu znaki
$1.
RewriteCond %{HTTP_HOST} ^(www\.)?staraadresa\.tld$
RewriteRule (.*) http://novaadresa.tld/$1 [R=301,L]
Ograniczenie dostępu dla wybranych adresów IP
W pliku .htaccess możesz ograniczyć dostęp do określonych (lub wszystkich) plików wyłącznie do wybranych adresów IP. Oto przykład blokowania dostępu do pliku wp-login.php (strona logowania do panelu administracyjnego WordPress):
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from X.X.X.X
</Files>
Kod możesz zmodyfikować według poniższych zasad:
- W
<Files ___>możesz podać albo konkretny plik, albo znak*dla wszystkich plików w danym katalogu i podkatalogach. - Adres
X.X.X.Xzastąp swoim adresem IPv4 lub IPv6. - Dyrektywę
Allow from X.X.X.Xmożesz podać więcej, każdą w osobnym wierszu.
Próby dostępu do danego pliku z innych adresów IP będą kończyć się błędem 403.
Jedynym sposobem uzyskania dostępu do pliku z zablokowanego adresu jest dodanie tego adresu do listy dozwolonych lub usunięcie kodu. Żadnej z tych czynności nie wykonuje pomoc techniczna.
Wyłączenie proxy cache
Jeśli chcesz wyłączyć proxy cache dla strony lub jej części (katalogu, subdomeny), wstaw do pliku .htaccess ten kod:
# DISABLE CACHING
<IfModule mod_headers.c>
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</IfModule>
Ograniczenia pliku .htaccess na webhostingu
Aby zapobiec niepożądanemu zachowaniu serwera, wprowadziliśmy w pliku .htaccess pewne ograniczenia.
Użycie jakiegokolwiek niedozwolonego polecenia lub parametru polecenia Options spowoduje niedziałanie całej strony, co objawi się błędem 500 – Internal Server Error.
W konfiguracji serwera WWW możesz używać następujących kategorii poleceń dla htaccess:
- AuthConfig
- FileInfo
- Limit
- Indexes
- Options*
Unikaj używania poleceń:
- php_flag
- php_value
- ServerSignature
- SetEnv
- SetHandler
- XBitHack
- AddHandler
- Options*
* W przypadku polecenia Options możesz używać wyłącznie opcji Indexes, pozostałe są zabronione.
Typowe problemy
Do typowych problemów z plikiem .htaccess należą:
- Nowe ustawienia nie działają lub psują stronę
- Przywracanie domyślnego pliku .htaccess nie działa
- Plik .htaccess coś nadpisuje
- Subdomena wyświetla inną stronę
- Wtyczka zgłasza open_basedir
Nowe ustawienia nie działają
Problem: Po zmianie ustawień pliku .htaccess nowe zachowanie nie jest widoczne albo strona przestała działać całkowicie. Najczęściej są to błędy Internal Server Error i Too Many Redirects.
Przyczyna: Przyczyną może być błędna nazwa lub lokalizacja pliku .htaccess, miejsce wstawienia kodu w tym pliku albo jego poprawność.
Rozwiązanie: Dokładnie sprawdź i popraw błędy:
- Sprawdź, czy plik znajduje się we właściwym katalogu (nie musi to być tylko www) i czy nazywa się dokładnie .htaccess, wraz z kropką na początku.
- Upewnij się, że kod jest umieszczony we właściwym miejscu pliku (na przykład na początku, po poleceniu
RewriteEngine On), oraz że wszystkie fragmenty zawierające tekst zastępczy (np.domena.tld) zostały zastąpione właściwym tekstem. - Jeśli plik zawiera zablokowane polecenia, wyłącz dane wiersze, umieszczając znak
#na początku wiersza.
Przywracanie domyślnego pliku .htaccess nie działa
Problem: Po przywróceniu domyślnego pliku .htaccess strona nadal zachowuje się tak samo.
Przyczyna: Albo przywracasz niewłaściwy plik .htaccess, albo nieprawidłowy widok strony jest zapisany w pamięci podręcznej.
Rozwiązanie: Odśwież stronę z pominięciem pamięci podręcznej przeglądarki skrótem klawiszowym Ctrl+Shift+R.
Jeśli potrzebujesz przywrócić stan domyślny pliku .htaccess w innym miejscu niż w katalogu www (lub plik .htaccess systemu CMS, na przykład WordPressa), pobierz go z kopie zapasowe lub ze strony internetowej systemu CMS.
Nieznany program nadpisuje plik .htaccess
Problem: Po zmianie ustawień pliku .htaccess coś wkrótce nadpisuje go niepożądanym kodem.
Przyczyna: Na Webhostingu znajduje się oprogramowanie (najczęściej wtyczka, może to być także malware), które generuje do pliku .htaccess własny kod.
Rozwiązanie: Znajdź źródło zmian w pliku .htaccess:
- Wtyczki zabezpieczające najczęściej za pomocą pliku .htaccess blokują dostęp do wrażliwych miejsc systemu, na przykład do panelu administracyjnego systemu CMS. Przy próbie dostępu często pojawia się błąd 403: Forbidden. Rozwiązaniem jest zmiana ustawień lub wyłączenie danej wtyczki zabezpieczającej.
- Aktualizacje systemu CMS mogą wprowadzić do własnego pliku .htaccess problematyczny kod, który najczęściej powoduje błąd 500 – Internal Server Error. Rozwiązaniem jest wyłączenie automatycznych aktualizacji i szybka ingerencja w kod pliku .htaccess zaraz po ręcznej aktualizacji.
- Malware zwykle zaburza wyświetlanie strony lub przekierowuje ją na niepożądany adres URL. Rozwiązaniem jest dokładne oczyszczenie strony z wirusów, czego VEDOS niestety nie pośredniczy ani nie zapewnia w tym zakresie wsparcia.
Subdomena wyświetla inną stronę
Problem: Subdomena lub dodatkowa domena wyświetla stronę główną albo linki prowadzą na adresy z /domains/, mimo że strona jest wgrana we właściwym folderze.
Przyczyna: Plik .htaccess w folderze www nie kieruje żądań do folderów domains i subdom, albo jest nadpisywany przez inny plik .htaccess w katalogu strony. Częsty jest też błędny adres strony w ustawieniach systemu CMS (w bazie danych znajduje się adres domeny głównej zamiast subdomeny).
Rozwiązanie: W folderze www przywróć domyślny plik .htaccess, ewentualnie wklej kod z sekcji kierowanie w strukturze katalogów. Sprawdź strukturę katalogów według artykułów Webhosting – Subdomeny i Webhosting – Przywracanie struktury katalogów (reset) FTP. W systemie CMS upewnij się, że w ustawieniach znajduje się adres subdomeny. Na koniec odśwież stronę z pominięciem pamięci podręcznej przeglądarki skrótem klawiszowym Ctrl+Shift+R.
Wtyczka zgłasza open_basedir
Problem: Wtyczka bezpieczeństwa WordPressa (np. Wordfence lub Really Simple Security) zgłasza open_basedir restriction in effect. File(/.htaccess) is not within the allowed path.
Przyczyna: Polecenie open_basedir jest na Webhostingu zablokowane ze względów bezpieczeństwa, dlatego wtyczka nie może edytować pliku .htaccess.
Rozwiązanie: Przywróć plik .htaccess WordPressa do domyślnej postaci zgodnie z dokumentacją WordPressa. Jeśli dostęp przez WebFTP nie działa, połącz się za pomocą klienta FTP na komputerze, na przykład FileZilli. Dalsze kroki opisano w rozdziale Nieznany program nadpisuje plik .htaccess.
Często zadawane pytania
Jak przywrócić domyślny plik .htaccess systemu CMS?
Zanim zaczniesz edytować plik .htaccess, utwórz jego kopię zapasową. Jeśli jej nie masz, zainstaluj system CMS ponownie albo znajdź domyślną zawartość pliku .htaccess tej samej wersji CMS gdzie indziej. Jeśli wszystko inne zawiedzie, skontaktuj się ze wsparciem klienta.
Gdzie znajdę zaawansowane polecenia .htaccess?
Zaawansowanych poleceń .htaccess nie obsługujemy. Niektóre znajdziesz w artykułach społeczności w kategorii .htaccess ⧉. Przy instrukcjach znalezionych w internecie pamiętaj o ograniczeniach pliku .htaccess na Webhostingu.
Nie mam dostępu przez WebFTP. Czy pomoc techniczna naprawi plik .htaccess?
Najpierw spróbuj połączyć się za pomocą klienta FTP na komputerze, na przykład FileZilli. Jeśli nalegasz na naprawę z naszej strony, udostępnij pomocy technicznej tymczasowy dostęp FTP i wyślij zgłoszenie przez formularz kontaktowy ⧉.
Strona niestabilnie ładuje skrypty. Czy pomoże wyłączenie proxy cache?
Może tak, ale nie ma pewności. Wklej do pliku .htaccess kod z rozdziału Wyłączenie proxy cache. Jeśli to nie pomoże, przywróć poprzednie ustawienia.