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