Chociaż w poprzednich artykułach na naszym blogu mogliście się dowiedzieć, że plik “.htaccess“ jest wykorzystywany m.in. do przekierowywania stron, to warto przyjrzeć się mu bardziej szczegółowo. Czym tak właściwie jest ten plik, a także jak go stworzyć oraz jakie możliwości posiada? Warto się nim zainteresować m.in. z uwagi na fakt, że może on być bardzo przydatny w przypadku SEO.
Spis treści:
Czym jest plik .htaccess?
Plik “.htaccess” to jeden z plików znajdujących się w bazie danych strony internetowej i umożliwia konfigurację różnych funkcji, jak np. przekierowania. Jego nazwa to skrót od Hypertext Access, co w dosłownym tłumaczeniu oznacza dostęp do hipertekstu. Zazwyczaj znajduje się w katalogu głównym plików strony internetowej, chociaż może on funkcjonować także w innych lokalizacjach.
Do czego można wykorzystać plik .htaccess?
Plik .htaccess pozwala wpływać na zachowania serwera, na którym umieszczona jest Twoja strona internetowa. Jest to możliwe poprzez wykorzystanie odpowiednich komend, które będą czytane przez serwer w momencie wysłania do niego żądania. Jeśli jakieś polecenie w pliku .htaccess będzie dotyczyć treści, o które np. wysłał zapytanie użytkownik, serwer uwzględni polecenie i np. przekieruje użytkownika do innej strony, niż do tej, której dotyczy zapytanie. Do czego jeszcze, poza przekierowaniami, można wykorzystać plik .htaccess?
- Blokowanie dostępu (za pomocą hasła) do konkretnych części strony, np. jednego katalogu;
- Blokowanie adresów IP urządzeń;
- Zmiana wersji PHP;
- Tworzenie tzw. przyjaznych adresów URL;
Należy zaznaczyć, że wszystkie zmiany wprowadzone w pliku .htaccess, są niezwłocznie uwzględniane. Oznacza to, że po dodaniu jakiejś komendy i zapisaniu pliku, dane polecenie od razu będzie funkcjonowało.
Plik .htaccess – opis funkcji
Przekierowania w .htaccess
Plik .htaccess prawdopodobnie najczęściej będzie kojarzył się nam z przekierowaniem stron. Jest to jego najbardziej popularna funkcja. Należy jednak uważać. Zbyt duża ich liczba może doprowadzić do błędu 310 – mówiącego o zbyt dużej liczbie przekierowań.
Najczęściej wykorzystywanymi przekierowaniami będą:
- Przekierowanie 301 (stałe)
Za jego pomocą możemy przenieść użytkownika na inną stronę, niż ta która została przez niego wskazana.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?domena-stara.pl [NC]
RewriteRule (.*) http://domena-nowa.pl/$1 [R=301,L]
- Przekierowanie na domenę
Warto zaznaczyć, że możemy także przekierować użytkowników na inną domenę. Możemy to zrobić w sytuacji, gdy np. wykupimy nową domenę w celu kierowania ruchu na naszą wcześniejszą stronę internetową.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?stara-domena.pl [NC]
RewriteRule (.*) http://nowa-domena.pl/$1 [R=301,L]
- Przekierowanie na wersję z www lub bez www
Dzięki .htaccess możemy kierować użytkowników na jedną wersję strony – z lub bez “www”. Czasem może się tak zdarzyć, że wpisując różne wersję adresów, trafiamy na różne wersje stron, na których może być podobna treść. Z punktu widzenia robotów przeglądarek jest to duplikowanie treści. Jeśli nie użyjemy przekierowania, będzie to niekorzystnie wpływało na osiągane przez naszą stronę pozycję w wynikach wyszukiwania.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^nazwa-domeny.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.nazwa-domeny.pl/$1 [R=301,L]
- Przekierowanie na szyfrowaną wersję strony – https
Plik .htaccess przyda się także w sytuacji, gdy chcemy przekierowywać użytkowników na szyfrowaną wersję strony, czyli tzw. http to https. Aby to zrobić powinniśmy wpisać taką komendę:
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
- Przekierowanie podstron na podstronę
To rozwiązanie jest szczególnie przydatne, jeśli nie chcemy utracić mocy linków z danej podstrony, a stała się ona np. nieaktualna w wyniku przeprowadzenia jakiejś zmiany.
RewriteRule nowycennik.html http://mojastrona.pl/cennik/ [R=301,L]
Blokowanie dostępu w .htaccess
Za sprawą pliku .htaccess możesz m.in. zablokować konkretne strony Twojej witryny. Aby się do nich dostać, niezbędne będzie podanie odpowiedniego hasła. Odpowiednie komendy w .htaccess pozwalają także na blokowanie botów, konkretnych użytkowników na podstawie adresów IP urządzeń itp.
order allow,deny
deny from 192.168.1.0
deny from 192.100.100.100
allow from all
Zmiana wersji języka PHP w .htaccess
Za sprawą .htaccess można także zmienić wersję PHP dla wszystkich plików znajdujących się w bazie danych Twojej strony. W tym celu wystarczy zastosować konkretny zapis, np. w celu ustawienia wersji PHP 7.4, możemy wykorzystać:
:Location /*.php
Use php74
:Location
Tworzenie przyjaznych adresów URL w .htaccess
Przyjazne adresy URL, czyli proste, przejrzyste, zawierające słowa kluczowe itp. Docelowo linki po nazwie domeny zawierają ciągi alfanumeryczne. Nie są to przyjazne linki z punktu widzenia użytkownika. Za sprawą odpowiedniego zapisu, możemy zamienić niezrozumiałe formuły, na czytelne i proste np. “domena.pl/publikacja/10”. Wystarczy zastosować taką formułę:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/?$ index.php?page=$1&id=$2 [L]
RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php?page=$1 [L]
Błąd 404 w .htaccess
W pliku .htaccess możemy również stworzyć własną stronę błędu 404. Gdy użytkownik trafia na specjalnie przygotowaną stronę, jest większa szansa na to, że spróbuje znaleźć inny sposób, aby dotrzeć do treści. Natomiast w przypadku klasycznego komunikatu błędu 404, prawdopodobnie opuści on naszą witrynę.
Aby to zrobić wystarczy wpisać w .htaccess komendę:
ErrorDoc 404 „Na serwerze nie ma takiego dokumentu”
ErrorDoc 403 http://www.vd.pl
Przyspieszenie strony w .htaccess
Za sprawą pliku .htaccess możliwe jest także przyspieszenie działania naszej strony internetowej. Jeśli wszystkie możliwości pliku zostaną wykorzystane, to faktycznie przełoży się to na jej szybsze działanie. Możemy wyróżnić w tym celu np. cachowanie. Możesz dostosować zawartość pamięci podręcznej po stronie klienta.
Warto także zwrócić uwagę na tzw. kompresję G-Zip. Ogranicza ona ilość zapytań, które obsługuje serwer. W tym celu należy wykorzystać formułę:
<ifModule mod_mime.c>
AddType application/x-font-ttf ttc ttf
AddType application/font-woff woff
AddType application/font-woff2 woff2
AddType application/vnd.ms-fontobject eot
</ifModule>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 5 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
ExpiresByType application/x-font-ttf "access plus 216000 seconds"
ExpiresByType application/font-woff "access plus 216000 seconds"
ExpiresByType application/x-font-woff "access plus 216000 seconds"
ExpiresByType font/woff "access plus 216000 seconds"
ExpiresByType application/font-woff2 "access plus 216000 seconds"
</ifModule>
<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
</ifModule>
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
Jak stworzyć plik .htaccess?
Utworzenie pliku .htaccess nie będzie dla nas skomplikowane. Możemy to zrobić na różne sposoby, a wystarczy już nawet zwykły notatnik. Należy jednak pamiętać, że plik .htaccess musi zostać zapisany z użyciem kodowania “UTF-8”. Oznacza to, że jeśli utworzyłeś plik w innym formacie to musisz go np. przekonwertować na format UTF-8, aby mógł on prawidłowo działać.
Utworzyć plik .htaccess możemy także przy pomocy innych narzędzi, np.:
- Generatory pliku .htaccess – jak możemy się domyślać, nie brakuje takich rozwiązań. Jeśli nie chcemy sami wpisywać odpowiednich reguł możemy w generatorze zaznaczyć interesujące nas opcję, podać niezbędne dane i otrzymamy gotowy plik przykładowy generator: https://www.htaccessredirect.net/
- WordPress – za sprawą tego CMSa również możemy stworzyć plik .htaccess. Chociaż, aby być bardziej precyzyjnym – za pomocą wtyczek. Jedną z najpopularniejszych, która również nam umożliwia wgląd w plik .htaccess jest Yoast SEO. Jeśli ją wykorzystujemy, możemy w prosty sposób edytować nasz plik.
Podsumowanie
Plik .htaccess to bardzo ważny plik tekstowy, który w pewnym sensie wyznacza granice na naszej stronie internetowej. Za jego sprawą możemy blokować dostęp do treści, przekierowywać użytkowników na inne adresy, domeny, wersje stron itp. Co więcej, dzięki niemu możemy także przyspieszyć działanie naszej strony oraz zacząć generować przyjazne linki. Warto wiedzieć o nim jak najwięcej, ponieważ posiada bardzo duże możliwości.
Plik .htaccess jest jednym z kluczowych elementów konfiguracyjnych strony internetowej. Pozwala on na wprowadzanie różnorodnych zmian w zachowaniu serwera, co ma istotne znaczenie dla optymalizacji strony pod kątem SEO. Oprócz przekierowań, blokowania dostępu czy zmiany wersji PHP, plik .htaccess może być wykorzystany do wielu innych celów.
Dodatkowe funkcje pliku .htaccess
Poza podstawowymi funkcjami, plik .htaccess pozwala również na:
- Ustawienie limitu czasu sesji – dzięki temu możemy kontrolować czas trwania sesji użytkownika na stronie;
- Przekierowanie na wersję mobilną – umożliwia to dostosowanie strony do urządzeń mobilnych poprzez przekierowanie użytkowników na dedykowaną wersję mobilną;
- Blokowanie hotlinkingu – chroni to zasoby strony przed kradzieżą, blokując możliwość bezpośredniego linkowania obrazów czy plików;
Dodatkowo, plik .htaccess pozwala na konfigurację kompresji plików, co przyczynia się do zmniejszenia rozmiaru przesyłanych danych i przyspieszenia ładowania strony. Warto zatem zwrócić uwagę na te dodatkowe możliwości i wykorzystać je w celu optymalizacji witryny.
Wskazówki dotyczące tworzenia pliku .htaccess
Podczas tworzenia pliku .htaccess warto pamiętać o kilku istotnych kwestiach:
- Regularne tworzenie kopii zapasowych – zawsze przed wprowadzeniem większych zmian w pliku .htaccess zaleca się wykonanie kopii zapasowej, aby uniknąć utraty danych w przypadku ewentualnych problemów;
- Sprawdzanie poprawności składni – błędy w pliku .htaccess mogą powodować problemy z działaniem strony, dlatego zawsze warto upewnić się, że wszystkie komendy są poprawnie napisane;
- Monitorowanie działania – regularne sprawdzanie efektów wprowadzonych zmian pozwoli szybko zidentyfikować ewentualne problemy i odpowiednio zareagować;
Dodaj komentarz