Plik .htaccess w pigułce
Plik .htaccesss kryje w sobie potężną moc. Umożliwia m.in. zmiany w konfiguracji witryny bez konieczności edytowania plików konfiguracyjnych serwera. Jak znaleźć, skonfigurować i przenieść plik .htaccess? Tego dowiesz się z tego artykułu!
Zerknij również na te tematy:
Co to jest .htaccess?
.htacces jest skrótem od Hypertext Access i oznacza plik konfiguracyjny używany przez serwery internetowe oparte na Apache. Plik pozwala na zmianę ustawień programu lub serwera. Wystarczy, że dodasz lub zmienisz kod w pliku .htaccess, a zmieni się dana funkcjonalność.
Nietypowy format
Tak, plik .htaccess może wydawać się dość wyjątkowy – przecież jego nazwa zaczyna się od kropki. Oznacza to jednak tylko tyle, że w niektórych programach FTP plik jest ukryty. Nie można go też edytować na komputerze bez zmiany nazwy, np. na htaccess.txt.
Zastosowania pliku .htaccess
Przyszła pora na najważniejsze pytanie: Do czego mogę używać plików .htaccess?
Możliwości jest wiele, ale wymienię te najważniejsze:
- ochrona swojej witryny hasłem,
- stworzenie niestandardowej strony błędu (np. 404),
- przekierowanie odwiedzających na inną stronę,
- wymuszenie korzystania z protokołu HTTPS zamiast HTTP,
- zapobieganie hotlinkom.
Pliki .htaccess są więc bardzo przydatnym, a jednocześnie potężnym narzędziem do zarządzania serwerem. Źle użyte mogą wywołać sporo bałaganu. Zanim więc zaczniesz je edytować, upewnij się, że wiesz, jak to zrobić.
| Dla bezpieczeństwa zawsze wykonaj kopię zapasową zarówno pliku, jak i całej witryny. A jeśli uznasz, że to zadanie jest dla Ciebie za trudne, skontaktuj się z administratorem. |
Przekierowanie 301
Tworzenie przekierowań adresów URL jest jednym z najczęstszych zastosowań pliku .htaccess. Więcej na ten temat przeczytasz w moim starszym wpisie.
Jeśli chcesz, żeby jedna domena została przekierowana do innej, użyj następującego tekstu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^firstdomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.firstdomain.com [NC]
RewriteRule ^(.*)$ http://drugadomena.com/$1 [L,R =301,NZ]
Inną opcją jest użycie kodu: Przekieruj 301 / http://domena.com
Wyświetlanie odpowiedniej wersji adresu
Z pomocą pliku .htaccess możesz zmusić przeglądarkę do wyświetlania konkretnej wersji adresu URL:
- Do wyświetlania www.domain.com użyj tekstu:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301,NC]
- By wyświetlać tylko nazwę domeny, zastosuj:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]
Blokada określonych adresów IP lub zakresu adresów IP
Aby zablokować określony adres lub IP lub cały ich zakres, do pliku .htaccess dodaj linie:
Zamów odmowę, zezwól na
odmowę z XXXX (gdzie XXXX to konkretny adres IPv4)
lub
Zamów odmowę, zezwól na
odmowę z XXXX
Odmów z YYYY
Żeby wszystko zadziałało zgodnie z Twoimi oczekiwaniami, musisz uzyskać zakresy adresów IP, które są przypisane do danego kraju. Mogą Ci w tym pomóc takie witryny jak ip2location.com. Musisz jednak wiedzieć, że metoda ta nie jest w 100% skuteczna: przypisanie adresów IP może się zmieniać, a ich zakresy mogą się nakładać.
Przekierowanie HTTP na HTTPS
Kolejnym zastosowaniem pliku .htaccess jest przeniesienie całego ruchu na HTTPS. Będzie to konieczne, jeśli kupisz i zainstalujesz nowy certyfikat SSL. W takim wypadku musisz dodać element:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{ENV:HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
Niestandardowa strona błędu 404
Gdy chcesz wprowadzić niestandardową stronę błędu 404, umieść w pliku:
Dokument błędu 404 /twójklient404strona.html
Korzystanie z wielu plików .htaccess
Oczywiście możesz używać wielu plików .htaccess – jeśli chcesz zastosować różne ustawienia dla różnych katalogów na serwerze. Pamiętaj jednak o tym, że:
- zbyt wiele konfiguracji może spowolnić Twój serwer;
- gdy serwer widzi plik .htaccess w katalogu, to szuka tych plików w katalogach nadrzędnych (wykorzystanie zasobów serwera się zwiększa);
- pliki .htaccess, które znajdują się wyżej w ścieżce pliku, zawsze mają pierwszeństwo.
Plik .htaccess – jak powinien wyglądać?
Możemy przyjąć, że pliki .htaccess używają tej samej składni, co główne pliki konfiguracyjne. Dowiesz się o tym więcej z tego artykułu.
To, co umieścić w pliku, określa dyrektywa AllowOverride. Na przykład, jeśli zwrócisz uwagę na dokumentację dyrektywy AddDefaultCharset, zauważysz, że jest ona dozwolona w plikach .htaccess. Upewnij się o tym, sprawdzając, czy w wierszu kontekstu znajduje się „.htaccess”.
Uważaj na kolejność dyrektyw i zawsze zapoznaj się z wymaganą składnią. Bądź ostrożny szczególnie w przypadku białych znaków, które mogą mieć wpływ na sposób, w jaki serwer interpretuje różne reguły.
Możesz też dodawać komentarze do pliku .htaccess, zaczynając linię od znaku „#”. Wykorzystaj je do tego, by wyjaśnić, jak działa dana dyrektywa, a ułatwisz sobie pracę w pliku w przyszłości.
Gdzie znaleźć pliki .htaccess?
Zacznijmy od tego, że Apache, czyli oprogramowanie obsługujące Twój serwer www, sprawia, że pliki .htaccess są ukryte. Dlaczego? Ponieważ zawierają one ważne informacje konfiguracyjne i mogłyby zostać wykorzystane do naruszenia bezpieczeństwa serwera.
Na szczęście lokalizacja pliku nie jest mocno strzeżoną tajemnicą. Plik .htaccess znajdziesz w folderze
public_html Twojej witryny.
A dostęp do pliku możesz uzyskać:
- Z poziomu zarządzania plikami na koncie hostingowym. Na przykład poprzez Menedżera plików cPanel. Po wejściu do menedżera naciśnij przycisk „Ustawienia”, który znajdziesz w prawym górnym rogu strony. Zaznacz pole wyboru z nazwą „Pokaż ukryte pliki (pliki dot.)” i kliknij przycisk „Zapisz”.
- Z poziomu klienta sFTP bądź FTP. Aby wyświetlić pliki w FileZilla, naciśnij menu „Serwer” na górze i włącz opcję „Wymuś wyświetlanie ukrytych plików”, którą znajdziesz w rozwijanym menu.
- Poprzez SSH. Tutaj przejdź do katalogu witryny, znajdź odpowiedni folder i wpisz polecenie: 1a–1a. To spowoduje wyświetlenie wszystkich ukrytych plików.

Jak utworzyć i przesłać plik .htaccess?
Jak zrobić plik .htaccess? Możesz go utworzyć z pomocą edytora tekstu, tj. Notatnika, Ms Word lub innych. Nazwij go oryginalną nazwą .htaccess (wtedy będzie działać prawidłowo) i umieść na pulpicie lub w jakimkolwiek folderze lokalnym. Następnie dodaj odpowiedni tekst i prześlij za pomocą klienta FTP (o tym, jak nawiązać połączenie FTP, przeczytasz tutaj). Teraz wystarczy już tylko przeciągnąć i upuścić nowo utworzony plik z komputera do folderu w przestrzeni hostingowej.
Wskazówka: Nie wprowadzaj wielu zmian w pliku za jednym razem. Lepsze będzie dokonywanie aktualizacji przyrostowych i zapisywanie pojedynczych zmian w pliku. Dzięki temu szybciej sprawdzisz, czy wszystko działa tak, jak zakładałeś na początku. Łatwiej też dostrzeżesz, która z dodanych dyrektyw spowodowała nieoczekiwane zachowanie. Na koniec, po wprowadzeniu zmian jeszcze raz dokładnie przetestuj witrynę.

