Spis treści
Czym jest plik .htaccess?
Plik .htaccess to plik konfiguracyjny dla serwera WWW Apache, który znajduje się w katalogu głównym witryny lub w podkatalogu. To bardzo potężne narzędzie, które umożliwia programistom i webmasterom dostosowanie ustawień serwera do indywidualnych potrzeb witryny. Plik .htaccess pozwala na wiele zaawansowanych konfiguracji serwera Apache, takich jak przekierowania, autoryzacja, blokowanie dostępu, kontrola pamięci podręcznej i wiele innych.
Do czego służy plik .htaccess?
Plik .htaccess może być używany do wielu celów, w tym do:
- Przekierowań – możesz przekierować użytkowników z jednej strony na inną, zmieniając adres URL w przeglądarce.
- Autoryzacji – możesz zabezpieczyć dostęp do swoich plików i katalogów hasłem.
- Kompresji – możesz skompresować pliki, takie jak HTML, CSS i JavaScript, aby przyspieszyć ładowanie strony.
- Blokowania dostępu – możesz uniemożliwić dostęp do określonych plików lub katalogów na Twojej witrynie.
- Kontroli pamięci podręcznej – możesz kontrolować sposób, w jaki przeglądarki internetowe przechowują pliki na pamięci podręcznej, co może przyspieszyć ładowanie strony.
Jak utworzyć plik .htaccess?
Aby utworzyć plik .htaccess, należy otworzyć edytor tekstu i zapisać plik jako “.htaccess” w katalogu głównym witryny lub w podkatalogu. Upewnij się, że kodowanie pliku to UTF-8 bez BOM. Plik .htaccess powinien zaczynać się od linii RewriteEngine On
, która włącza silnik przepisywania, jeśli chcesz korzystać z przekierowań lub innych reguł.
Jak przetestować plik .htaccess?
Aby przetestować plik .htaccess, należy dokładnie przetestować każdą regułę i upewnić się, że działa zgodnie z oczekiwaniami. W przypadku przekierowań, można skorzystać z narzędzi online, takich jak Redirect Checker, aby sprawdzić, czy przekierowanie działa poprawnie. W przypadku innych reguł, należy dokładnie przetestować każdą regułę i upewnić się, że działa zgodnie z oczekiwaniami. Należy również monitorować ruch na stronie internetowej, aby sprawdzić, czy przekierowanie działa i czy nie ma problemów z wartością SEO.
Przekierowanie 301 przy pomocy .htaccess
Aby przekierować domenę na nową, należy wykonać kilka kroków, w zależności od sytuacji. Oto ogólny opis procesu:
- Skonfiguruj nową domenę: Upewnij się, że nowa domena jest zarejestrowana i skonfigurowana na serwerze, który będzie hostował Twoją witrynę.
- Przeniesienie plików: Skopiuj wszystkie pliki związane z Twoją witryną na nowy serwer.
- Utwórz przekierowanie 301: Aby zachować wartość SEO i przekierować ruch z dotychczasowej domeny na nową, musisz utworzyć przekierowanie 301. Możesz to zrobić za pomocą pliku .htaccess, który znajduje się w głównym katalogu Twojej witryny. Oto przykład kodu, który można dodać do pliku .htaccess, aby przekierować ruch z jednej domeny na drugą:
rubyCopy codeRewriteEngine On
RewriteCond %{HTTP_HOST} ^stara-domena\.com$ [NC]
RewriteRule ^(.*)$ https://nowa-domena.com/$1 [R=301,L]
Upewnij się, że dostosujesz powyższy kod do swoich potrzeb, wprowadzając odpowiednie nazwy domen.
- Testuj i monitoruj: Po wykonaniu powyższych kroków zaleca się przetestowanie witryny na nowej domenie, aby upewnić się, że wszystko działa poprawnie. Należy również monitorować ruch na stronie internetowej, aby sprawdzić, czy przekierowanie działa i czy nie ma problemów z wartością SEO.
Warto zauważyć, że po przeprowadzeniu przekierowania, może to potrwać kilka dni lub tygodni, zanim wyszukiwarki zaktualizują swoje indeksy i zaczynają wyświetlać Twoją nową domenę w wynikach wyszukiwania.
Autoryzacja przy pomocy .htaccess
Autoryzacja przy pomocy pliku .htaccess to sposób na zabezpieczenie dostępu do Twojej witryny za pomocą hasła. Aby skonfigurować autoryzację w pliku .htaccess, należy wykonać następujące kroki:
- Utwórz plik .htpasswd
Pierwszym krokiem jest utworzenie pliku .htpasswd, który zawiera nazwy użytkowników i hasła. Plik ten powinien znajdować się poza publicznym katalogiem witryny, aby uniknąć jego publicznego dostępu. Aby utworzyć plik .htpasswd, można skorzystać z narzędzia online lub wykonać polecenie z wiersza poleceń. Przykładowo, jeśli chcesz dodać użytkownika “john” z hasłem “password”, wykonaj poniższe polecenie:
javascriptCopy codehtpasswd -c /ścieżka/do/.htpasswd john
System poprosi o wpisanie hasła dla użytkownika “john”, które zostanie automatycznie zaszyfrowane i dodane do pliku .htpasswd.
- Utwórz plik .htaccess
Następnym krokiem jest utworzenie pliku .htaccess w katalogu, który ma być zabezpieczony hasłem. Plik ten powinien zawierać następujące linie:
javascriptCopy codeAuthType Basic
AuthName "Nazwa autoryzacji"
AuthUserFile /ścieżka/do/.htpasswd
Require valid-user
AuthType Basic
– określa rodzaj autoryzacji, w tym przypadku autoryzacja podstawowa.AuthName
– określa nazwę autoryzacji, która zostanie wyświetlona w oknie dialogowym hasła.AuthUserFile
– określa ścieżkę do pliku .htpasswd.Require valid-user
– określa, że dostęp wymaga autoryzacji.
- Przetestuj autoryzację
Po utworzeniu pliku .htaccess i .htpasswd należy przetestować autoryzację, aby upewnić się, że działa poprawnie. Przejdź do witryny i spróbuj uzyskać dostęp do zabezpieczonego katalogu. System poprosi o podanie nazwy użytkownika i hasła, a po poprawnym zalogowaniu będziesz mógł uzyskać dostęp do zabezpieczonego katalogu.
Kompresja z .htaccess
Kompresja plików to jedna z metod optymalizacji witryny internetowej. Kompresja plików, takich jak HTML, CSS i JavaScript, pozwala zmniejszyć ich rozmiar, co z kolei przyspiesza czas ładowania strony. Można to osiągnąć przy pomocy pliku .htaccess. Aby skonfigurować kompresję plików w pliku .htaccess, należy wykonać następujące kroki:
- Włącz kompresję
Aby włączyć kompresję plików, należy dodać następujące linie do pliku .htaccess:
bashCopy code<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json
</IfModule>
Linia <IfModule mod_deflate.c>
sprawdza, czy moduł kompresji jest włączony na serwerze. Następnie linia AddOutputFilterByType
określa, które typy plików mają być kompresowane.
- Ustaw stopień kompresji
Możesz ustawić stopień kompresji dla plików, aby określić, jak bardzo pliki mają być skompresowane. Im wyższy stopień kompresji, tym bardziej pliki są skompresowane, ale kosztem większego obciążenia procesora. Aby ustawić stopień kompresji, należy dodać następujące linie do pliku .htaccess:
bashCopy code<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript application/json
DeflateCompressionLevel 9
</IfModule>
Linia DeflateCompressionLevel
określa stopień kompresji, który można ustawić od 1 do 9. Im wyższa wartość, tym większe skompresowanie plików.
- Przetestuj kompresję
Po utworzeniu pliku .htaccess z kompresją plików należy przetestować witrynę, aby upewnić się, że działa poprawnie. Najprostszym sposobem jest skorzystanie z narzędzi online, takich jak GTmetrix lub PageSpeed Insights, aby sprawdzić, czy pliki są skompresowane i ile czasu jest oszczędzane dzięki kompresji.
Blokowanie botów ahrefs i innych przez .htaccess
Boty wyszukiwarek, takie jak Ahrefs, Majestic, SEMrush itp., przeszukują witryny w celu uzyskania informacji na temat linków i innych danych związanych z SEO. Jednakże niektóre z tych botów mogą powodować nadmierne obciążenie serwera, co może wpłynąć negatywnie na wydajność witryny. Aby zablokować boty Ahrefs i innych, możesz skorzystać z pliku .htaccess. Aby skonfigurować blokowanie botów w pliku .htaccess, należy wykonać następujące kroki:
- Zablokuj boty
Aby zablokować boty Ahrefs i innych, należy dodać następujące linie do pliku .htaccess:
cssCopy codeRewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ahrefs [NC,OR]
RewriteCond %{HTTP_USER_AGENT} semrush [NC,OR]
RewriteCond %{HTTP_USER_AGENT} majestic [NC]
RewriteRule .* - [F,L]
Linia RewriteEngine On
włącza silnik przepisywania. Następnie linie RewriteCond
sprawdzają, czy nazwa użytkownika agenta zawiera ciąg “ahrefs”, “semrush” lub “majestic”. Flagi [NC] oznaczają, że porównanie powinno być wykonywane bez uwzględniania wielkości liter. Następnie linia RewriteRule
blokuje dostęp do wszystkich plików i folderów na witrynie.
- Zablokuj boty z konkretnych adresów IP
Jeśli znasz adresy IP, z których pochodzą boty Ahrefs i innych, możesz zablokować je, dodając następujące linie do pliku .htaccess:
cssCopy codeOrder Allow,Deny
Deny from 123.123.123.123
Deny from 456.456.456.456
Allow from all
Linia Order Allow,Deny
określa kolejność reguł, w tym przypadku najpierw są zastosowane reguły blokowania, a następnie reguła dozwolonej sieci. Następnie linie Deny from
określają adresy IP, z których boty Ahrefs i innych nie będą miały dostępu. Na koniec linia Allow from all
określa, że wszyscy pozostali użytkownicy mają dostęp.
- Zablokuj całe grupy botów
Jeśli chcesz zablokować całe grupy botów, możesz skorzystać z listy dostępnej w Internecie i dodać odpowiednie linie do pliku .htaccess. Na przykład, aby zablokować grupę botów o nazwie “MJ12bot”, dodaj następujące linie:
cssCopy codeRewriteEngine On
RewriteCond %{HTTP_USER_AGENT} MJ12bot [NC]
RewriteRule .* - [F,L]
Linia RewriteCond
sprawdza, czy nazwa użytkownika agenta zawiera ciąg “MJ12bot”. Flagi [NC] oznaczają, że porównanie powinno być wykonywane bez uwzględniania wielkości liter. Następnie linia RewriteRule
blokuje dostęp do wszystkich plików i folderów na witrynie.
- Wyklucz niektóre boty
Jeśli nie chcesz całkowicie blokować botów Ahrefs i innych, ale chcesz zredukować ich wpływ na wydajność witryny, możesz wykluczyć niektóre boty z pliku .htaccess. Aby to zrobić, dodaj następujące linie do pliku .htaccess:
cssCopy codeRewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !googlebot [NC]
RewriteCond %{HTTP_USER_AGENT} !bingbot [NC]
RewriteCond %{HTTP_USER_AGENT} !yandex [NC]
RewriteCond %{HTTP_USER_AGENT} !slurp [NC]
RewriteRule .* - [F,L]
Linie RewriteCond
sprawdzają, czy nazwa użytkownika agenta nie zawiera ciągu “googlebot”, “bingbot”, “yandex” lub “slurp”. Flagi [NC] oznaczają, że porównanie powinno być wykonywane bez uwzględniania wielkości liter. Następnie linia RewriteRule
blokuje dostęp do wszystkich plików i folderów na witrynie.