Na skróty
Htaccess (Hypertext Access) to plik konfiguracyjny dla serwera Apache. Jego głównym zadaniem jest umożliwienie poprawnego działania aplikacji oraz stron internetowych. Wyróżnia się dziesiątkami praktycznych zastosowań m.in. przekierowanie domeny na inną stronę, zablokowanie botów czy zabezpieczenie witryny hasłem.
Jeszcze kilka lat temu plik .htaccess mógł być wykorzystywany tylko i wyłącznie do serwerów Apache. Dziś można go stosować w znacznie większym zakresie (np. nginx) ze względu na rozwój technologiczny i wdrożenie specjalnych modułów. Zatem, czym jest i jakie możliwości daje plik htaccess? – odpowiadamy!
Plik .htacces służy do określenia standardowych ustawień dla katalogu i podkatalogów dostępnych na serwerze. Możemy go edytować, posługując się dowolnym protokołem sieciowym przeznaczonym do przesyłania danych (np. FileZilla). Modyfikacja omawianego pliku konfiguracyjnego powoduje natychmiastową reakcję serwera, ponieważ htaccess jest weryfikowany przy każdym ruchu dotyczącym konkretnego katalogu lub podkatalogu.
Przed przygotowaniem pliku .htaccess należy wiedzieć, że jego oficjalna nazwa to .htaccess (symbol kropki + nazwa htacces). Istnieje kilka sposobów, aby go utworzyć – pierwszy z nich polega na skorzystaniu z edytora Notepad++. Druga metoda jest nieco trudniejsza dla początkujących, ponieważ wymaga dostępu do plików źródłowych wybranej strony internetowej przy pomocy serwera FTP. Poniżej opisujemy sposoby na utworzenie pliku .htaccess.
Edytor tekstu Notepad++ można pobrać za darmo z oficjalnej strony producenta. Po zainstalowaniu tego programu należy utworzyć plik zatytułowany .htaccess, wybrać opcję „Zapisz jako”, a następnie kliknąć funkcjonalność „All types”.
Aby utworzyć plik .htaccess na serwerze FTP wybranej strony internetowej, należy przejść do konkretnego folderu, po czym kliknąć funkcjonalność „Nowy plik”. Po nadaniu nazwy i odpowiedniej treści wybieramy „Zapisz plik”.
Po utworzeniu pliku .htaccess w edytorze Notepad++ trzeba go następnie dodać do serwera FTP. Nie jest to wymagającym zadaniem dla osób „siedzących w temacie”, jednak działalność niektórych przedsiębiorców znacząco odbiega od takich rozwiązań technologicznych i często ograniczają się oni jedynie do stworzenia pliku w edytorze przy pomocy internetowego poradnika.
Reasumując, nie każdy poradzi sobie z wejściem na serwer FTP, wyszukaniem odpowiedniej funkcjonalności i „przeklikaniem kilku prostych elementów”. W celu zaoszczędzenia czasu, warto po prostu znaleźć odpowiedniego specjalistę na popularnych serwisach ogłoszeniowych (np. Freelanceria lub Fiverr).
Plik .htaccess znajduje się w głównym katalogu witryny WordPress. Symbol kropki przed nazwą oznacza, że jest to plik ukryty. W konsekwencji, jeśli uzyskałeś dostęp do serwera przy pomocy klienta FTP – htaccess nie będzie widoczny, aż do momentu, gdy zaznaczysz funkcjonalność nakazującą ujawnienie ukrytych plików.
Istnieje jeszcze jeden powód, przez który .htaccess może nie być widoczny – witryna WordPress nie wygenerowała pliku konfiguracyjnego. Jeśli taka sytuacja miała miejsce, należy utworzyć plik .htaccess, stosując się do wskazówek zawartych w nagłówku pt.: „Jak utworzyć plik htaccess?”.
Plik konfiguracyjny .htaccess oferuje dziesiątki bardzo przydatnych zastosowań. Zaczynając od blokowania niechcianych adresów IP, przez przekierowanie witryny na inny adres i zabezpieczenie jej hasłem, aż po ustawienie własnej strony błędów (np. 400, 401, 403, 404, 500). Jednak, jakie są reguły .htaccess i kiedy warto je stosować? – 11 konkretnych przykładów!
Zmiana przekierowania na https jest konieczna, gdy musimy przekierować komunikację na szyfrowany port (komunikacja między klientem a serwerem).
#1 linijka: #Zmiana przekierowania na https
#2 linijka: RewriteEngine On
#3 linijka: RewriteCond %[SERVER_PORT] 80
#4 linijka: RewriteRule ^(.*)$ https://twojawitryna.pl/$1 [R,L]
Ustawienie strony głównej (docelowej) okaże się bardzo pomocne, gdy folder nadrzędny został wyposażony w dane, które mogą „zmylić przeglądarkę”. W ten sposób definiujemy pliki używane w pierwszej kolejności.
#1 linijka: #Ustawienie strony głównej (docelowej)
#2 linijka: DirectoryIndex index.html index.php
Blokada niechcianych adresów IP to bardzo skuteczny sposób uniemożliwiający odwiedziny strony dla poszczególnych użytkowników.
#1 linijka: #Blokada niechcianych adresów IP
#2 linijka: order allow, deny
#3 linijka: deny from 000.000.00.00
#4 linijka: allow from 000.000.00.00
Jeśli komunikacja pomiędzy kooperantem a serwerem zostaje zakłócona, wyskakuje nam odpowiedni błąd odnoszący się do konkretnego problemu. Jest to 3-cyfrowy numer, który w zależności od komplikacji występuje w postaci kodu informacyjnego (1XY), powodzenia (2XY), przekierowania (3XY), błędu po stronie aplikacji (4XY) lub serwera (5XY).
W pierwszej linijce należy zdefiniować ścieżkę do pliku, a w drugiej widok błędu – folder/error000.html. Dla przykładu:
#1 linijka: #Komunikat błędu 000
#2 linijka: ErrorDocument 000 folder/error000.html
Uniemożliwienie przeglądania katalogów to doskonała inicjatywa szczególnie w kontekście konkurencyjnych firm, które mogą dowiedzieć się szczegółowych informacji o konstrukcji naszej strony, wprowadzając jedynie adres wybranego katalogu.
#1 linijka: #Uniemożliwienie przeglądania katalogów
#2 linijka: Options -Indexes (jeśli chcemy cofnąć – zamiast minusa przy „Indexes”, dajemy znak plusa).
Funkcjonalność nr 6 jest przydatna, gdy właścicielowi strony www zależy, aby każdy użytkownik klikający na konkretny plik (np. PDF) otworzył go przy pomocy odpowiedniego programu (np. Adobe Acrobat Reader DC, Corel WordPerfect X9 czy Nitro Pro 12).
#1 linijka: #Otwieranie plików pdf w konkretnym programie
#2 linijka: AddType application/pdf .pdf
Zastrzeżenie dostępu hasłem to metoda umożliwiająca odblokowanie części lub całości pliku tylko i wyłącznie w momencie podania odpowiednich danych.
#1 linijka: #Zastrzeżenie plików hasłem
#2 linijka: <Files folder/ .htpasswd>
#3 linijka: AuthType Basic
#4 linijka: AuthUserFile style.css
#5 linijka: Require valid-user
#6 linijka: </Files>
Często używana reguła umożliwiająca przetrzymywanie grafik oraz plików w pamięci przeglądarki przez wybrany okres (np. rok).
#1 linijka: #Pamięć catche
#2 linijka: <IfModule mod_expires.c>
#3 linijka: ExpiresByType image/gif „access plus 1 year”
#4 linijka: ExpiresByType image/png „access plus 1 year”
#5 linijka: ExpiresByType image/jpg „access plus 1 year”
#6 linijka: ExpiresByType image/jpeg „access plus 1 year”
#7 linijka: ExpiresByType text/html „access plus 0 seconds”
#8 linijka: ExpiresByType text/xml „access plus 0 seconds”
#9 linijka: ExpiresByType application/xml „access plus 0 seconds”
#10 linijka: ExpiresByType application/json „access plus 0 seconds”
#11 linijka: </IfModule>
Reguła dotycząca przekierowania 301 htaccess jest pomocna w kontekście SEO. Dzięki niej można zmienić ścieżkę dostępu do plików bez utraty pozycji w wyszukiwarkach.
#1 linijka: #Przekierowanie 301 htacces dla domeny: stara -> nowa
#2 linijka: RewriteEngine On
#3 linijka: RewriteRule ^(.*)$ http://mojanowawitryna.pl/$1 [R=301,L]
#4 linijka: #Przekierowanie 301 htacces dla plików stary -> nowy
#5 linijka: Redirect 301 /stary/image.png /nowy/image3.png
#6 linijka: #Przekierowanie 301 htaccess dla katalogów stary -> nowy
#7 linijka: RedirectMatch 301 /stary(.*) /nowy/$1
Jeśli nasza strona jest dostępna pod kilkoma adresami (np. www.xyz.pl oraz http://www.xyz.pl), roboty postrzegają taką witrynę jako duplikat (pomimo tego, że w rzeczywistości tak nie jest). To bardzo problemowa sprawa, ponieważ obniża pozycję WWW w SERP-ach.
#1 linijka: #Przekierowanie strony na inny adres www
#2 linijka: Options +FollowSymLinks
#3 linijka: RewriteEngine on
#4 linijka: RewriteCond %{HTTP_HOST} ^xyz.pl [nc]
#5 linijka: RewriteRule ^(.*)$ http://www.xyz.pl/$1 [r=301,nc]
#1 linijka: #Przekierowanie z www na bez www
#2 linijka: RewriteCond %{HTTP_HOST} ^www.xyz.pl$ [NC]
#3 linijka: RewriteRule ^(.*)$ http://xyz.pl/$1 [R=301,L]
Bezstratna kompresja danych (kompresja GZIP) może bardzo mocno przyspieszyć ładowanie się stron internetowych. W zależności od serwera potrzebny jest inny sposób na włączenie kompresji, jednak dla Apache zazwyczaj wystarczy dodanie reguły do .htaccess.
#1 linijka: <IfModule deflate_module>
#2 linijka: # Enable compression for the following file types.
#3 linijka: AddOutputFilterByType \
#4 linijka: DEFLATE  \
#5 linijka: application/javascript \
#6 linijka: text/css \
#7 linijka: text/html \
#8 linijka: text/javascript \
#9 linijka: text/plain \
#10 linijka: text/xml
#11 linijka: </IfModule> Po nadaniu nazwy i odpowiedniej treści
Plik htaccess (Hypertext Access) jest plikiem konfiguracyjnym dla serwera Apache odpowiadającym za poprawne działanie aplikacji oraz stron internetowych. Jego zadaniem jest określanie standardowych ustawień dla katalogu i podkatalogów dostępnych na serwerze. Słynie z dziesiątek bardzo praktycznych zastosowań m.in. blokowanie niechcianych adresów IP, zabezpieczenie witryny hasłem czy nawet ustawienie własnej strony błędów (np. htaccess 404).
Warto również wspomnieć, że istnieją programy oraz strony internetowe generujące plik .htaccess. Po wpisaniu w Google frazy „htaccess generator” pojawią się wyniki wyszukiwania umożliwiające skorzystanie z witryn generujących omawiany plik konfiguracyjny. Obsługa jest prosta – wybieramy interesującą nas opcję (np. blokowanie adresów IP, ochrona plików hasłem, przekierowanie 301), po czym klikamy „generuj .htaccess”.
Zawodowy copywriter specjalizujący się̨ w tworzeniu artykułów eksperckich dotyczących najważniejszych zagadnień związanych z SEO. Twierdzi, że nieustanne zmiany w tej dziedzinie napędzają go do dalszej pracy, a edukowanie innych pozwala mu wzrastać.