Poniższa instrukcja zawiera opis edycji pliku z poziomu Menadżera plików, natomiast treść modyfikacji pliku jest taka sama niezależnie od wybranego sposobu modyfikacji. Aby dodać wpisy do pliku .htaccess:
- zaloguj się do panelu administracyjnego hostingu – sposoby logowania opisane są w instrukcji:
https://cyberfolks.pl/pomoc/logowanie-sie-do-panelu-administracyjnego/ - wybierz z listy domenę, dla której chcesz wykonać zmianę
- sprawdź, w jakiej lokalizacji na hostingu umieszczone są pliki Twojej strony. W tym celu kliknij opcję „Przypisz katalog domeny” w sekcji „Serwer www i domeny”

Domyślna ścieżka dla lokalizacji plików strony to: /home/LOGIN/domains/NAZWADOMENY/public_html
, natomiast Twoja domena może mieć tu wskazaną inną ścieżkę

- po zweryfikowaniu ścieżki wybierz opcję „Menadżer plików” w górnym menu panelu administracyjnego:
- przejdź do odpowiedniego katalogu, klikając na kolejne katalogi zgodnie ze ścieżką domeny. Przykładowo, dla domyślnej ścieżki
/home/LOGIN/domains/NAZWADOMENY/public_html
rozpocznij od katalogu domains, następnie katalog z nazwą domeny i public_html - wybierz opcję edycji pliku .htaccess w kolumnie „Czynność” przy pliku:
Jeśli pliku o takiej nazwie nie ma na liście plików Twojej domeny, pod listą plików w sekcji „Utwórz nowy plik” utwórz plik o nazwie „.htaccess”
Plik .htaccess jest często używany na serwerach Apache do zarządzania konfiguracją witryny, przekierowaniami i różnymi innymi ustawieniami. Oto najpopularniejsze wpisy, które są często stosowane w plikach .htaccess:
1. Zmiana wersji PHP
Jeśli na serwerze działa kilka wersji PHP, można wymusić użycie konkretnej wersji:
dla PHP 5.6 dodaj: AddHandler application/x-httpd-php56 php
dla PHP 7.0 dodaj: AddHandler application/x-httpd-php70 php
dla PHP 7.1 dodaj: AddHandler application/x-httpd-php71 php
dla PHP 7.2 dodaj: AddHandler application/x-httpd-php72 php
dla PHP 7.3 dodaj: AddHandler application/x-httpd-php73 php
dla PHP 7.4 dodaj: AddHandler application/x-httpd-php74 php
dla PHP 8.0 dodaj: AddHandler application/x-httpd-php80 php
dla PHP 8.1 dodaj: AddHandler application/x-httpd-php81 php
dla PHP 8.2 dodaj: AddHandler application/x-httpd-php82 php
2a. Przekierowanie 301 (stałe przekierowanie)
Służy do przekierowania ruchu ze starego adresu URL na nowy. Przydatne np. po zmianie struktury strony.
Przykład: Przekierowanie starej strony na innąRedirect 301 /stary-adres https://example.com/nowy-adres
2b. Przekierowanie jednej podstrony na katalog (główną stronę katalogu)
Jeśli chcesz, aby konkretna podstrona była przekierowana do katalogu (jego głównej strony), użyj:Redirect 301 /stary-katalog/podstrona https://example.com/nowy-katalog
3. Przekierowanie z HTTP na HTTPS
Wymusza korzystanie z bezpiecznego połączenia HTTPS.
Kiedy użyć: Jeśli chcesz upewnić się, że cała strona korzysta z szyfrowanego połączenia SSL.
Przykład:RewriteCond %{HTTP_HOST} ^mojadomena.pl [NC]
RewriteRule ^(.*)$ https://www.mojadomena.pl/$1 [R=301,L]
4. Przekierowanie na www lub bez www
Przekierowuje całą witrynę na wersję z www
lub bez.
Kiedy użyć: Jeśli chcesz uniknąć duplikacji treści w Google i zapewnić jednolity adres URL.
Przykład:
- przekierowanie na www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] - przekierowanie na wersję bez www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
5. Blokowanie dostępu do plików i katalogów
Blokuje dostęp do określonych plików (np. .htaccess) lub katalogów.
Kiedy użyć: Jeśli chcesz zabezpieczyć pliki konfiguracyjne serwera przed podglądem.
Przykład:<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
6. Ustawienie strony błędu 404
Definiuje własną stronę błędu, np. dla braku znalezienia zasobu.
Kiedy użyć: Jeśli chcesz dostosować komunikaty o błędzie na swojej stronie.
Przykład:ErrorDocument 404 /404.html
7. Blokowanie dostępu na podstawie adresu IP
Blokuje dostęp dla określonych adresów IP.
Kiedy użyć: Jeśli chcesz uniemożliwić dostęp dla konkretnych adresów IP, np. dla botów lub atakujących
Przykład pozwalający na zablokowanie całego dostępu:Order Deny,Allow
Deny from 192.168.1.1
Allow from all
Deny from 192.168.1.1
Allow from all
Szerzej opisane tutaj: https://cyberfolks.pl/pomoc/jak-blokowac-boty-wysycajace-zasoby/
8. Cache-Control (kontrola cache w przeglądarkach)
Określa czas przechowywania zasobów w pamięci cache przeglądarki.
Kiedy użyć: Jeśli chcesz przyspieszyć ładowanie strony poprzez wykorzystanie cache przeglądarki.
Przykład:<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType text/css "access 1 week"
ExpiresByType application/javascript "access 1 week"
</IfModule>
9. Blokowanie hotlinkowania
Zapobiega wyświetlaniu obrazów Twojej witryny na innych stronach.
Kiedy użyć: Jeśli chcesz zapobiec wykorzystywaniu Twoich zasobów (np. obrazów) przez inne strony, co może obciążać Twój serwer.
Przykład:RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www.)?example.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ - [F]
10. Przekierowanie na plik index.php
Przekierowuje wszystkie zapytania do jednego pliku (np. dla frameworków PHP).
Kiedy użyć: Jeśli Twoja strona korzysta z systemu zarządzania treścią (CMS) lub frameworka, który obsługuje routing przez index.php.
Przykład:RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
11. Ochrona hasłem (autoryzacja)
Używa pliku .htpasswd
do zabezpieczenia dostępu do katalogu.
Kiedy użyć: Jeśli chcesz ograniczyć dostęp do określonych zasobów, np. folderów Należy uprzednio utworzyć plik .htpasswd
, w narzędziach wpisujemy nazwę nowego pliku, następnie klikamy przycisk Utwórz.
Następnie w pliku .htaccess
możemy umieścić przykładowy wpis:AuthType Basic
AuthName "Wyświetlany komunikat po wejściu na stronę"
AuthUserFile /ścieżka/do/.htpasswd
Require valid-user
Gdzie:AuthName
– określa jaki tekst ma się pojawić w okienku z prośbą o login i hasło AuthUserFile
– określa pełną ścieżkę do pliku z hasłami
12. +Indexes i -Indexes
Opcja Indexes
w .htaccess
kontroluje, czy użytkownicy mogą przeglądać zawartość katalogu, gdy nie ma w nim pliku indeksowego (index.html
, index.php
itp.).
- +Indexes – Włączenie indeksowania katalogów
Jeśli w katalogu nie ma pliku indeksowego, serwer wyświetli listę wszystkich plików w katalogu.Options +Indexes
- -Indexes – Wyłączenie indeksowania katalogów (zalecane)
Jeśli w katalogu nie ma pliku indeksowego, użytkownik zobaczy błąd 403 Forbidden zamiast listy plików.Options -Indexes
- Jeśli masz katalog
/downloads
i nie chcesz, aby użytkownicy mogli zobaczyć wszystkie pliki w nim, dodaj do.htaccess
:<Directory "/var/www/html/downloads">
Options -Indexes
</Directory>
13. Blokada botów
Kiedy użyć: Jeżeli chcesz zablokować dostęp botów np. ClaudeBot z poziomu .htacces
Przykład:RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ClaudeBot [NC]
RewriteRule .* - [F,L]
gdzie ClaudeBot
oznacza przykładową nazwę bota, którego chcemy zablokować.
WAŻNE!: Pamiętaj że blokując pożyteczne boty, jak np. Robot Google, możesz uniemożliwić im indeksowanie Twojej strony w Internecie, na przykład w wyszukiwarkach internetowych. Przed zablokowaniem danego bota upewnij się zatem czy nie zaszkodzi to pozycji Twojej strony w Internecie.
14. Kompresja WebP
Aby serwer obsługiwał pliki WebP dla przeglądarek, które je wspierają, można użyć wpisu:<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME}.webp -f
RewriteRule (.+).jpg$ $1.jpg.webp [T=image/webp]
RewriteRule (.+).png$ $1.png.webp [T=image/webp]
</IfModule>
<IfModule mod_headers.c>
Header append Vary Accept
</IfModule>
15. Blokada połączeń spoza kraju (GeoIP)
Za pomocą .htaccess
możemy zablokować dostęp z konkretnego kraju
https://cyberfolks.pl/pomoc/jak-zablokowac-ruch-z-konkretnego-kraju/
16. Kompresja Gzip
Aby włączyć kompresję Gzip dla określonych typów plików: <IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json
</IfModule>
17. Ręczna separacja domen przez php_value open basedir
Jeśli chcesz ograniczyć dostęp PHP do określonych katalogów dla danej domeny:<IfModule mod_php>
php_value open_basedir "/var/www/domain1:/tmp"
</IfModule>
18. Przekierowanie aplikacji na inny port
Jeśli chcesz przekierować ruch z portu 80 na inny port, np. 8080:<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ http://127.0.0.1:8080/$1 [P]
</IfModule>
19. Zmiana parametrów php poprzez wpis .htaccess
Jeśli chcesz edytować parametry php np. ilość przypisanej pamięci PHP
Przykład:php_value memory_limit 512M
php_value max_execution_time 450
php_value upload_max_filesize 512M
W ten sposób na usłudze hostingowej można zmienić również:max_input_vars:
php_value max_input_vars 10000