Support

author
6 minutes, 18 seconds Read
Updated on October 4, 2018

What is .htaccess?

The .htaccess file (also known as the Hypertext Access file) is used to define specific configurations for web servers running on Apache. Ten plik konfiguracyjny ma wpływ na katalog, w którym jest przechowywany, jak również na wszystkie podkatalogi w obrębie tego katalogu. Na przykład, jeśli plik .htaccess znajduje się w katalogu głównym, będzie on miał wpływ na całą witrynę. Z drugiej strony, jeśli plik znajduje się w określonym katalogu, będzie miał wpływ tylko na ten katalog i wszelkie podkatalogi w nim.

Niektóre platformy CMS, takie jak WordPress i Drupal również pochodzą z .htaccess plików, aby umożliwić określenie pewnych konfiguracji, które mają zastosowanie wyłącznie do tej witryny. Plik .htaccess może być używany do osiągnięcia wielu rzeczy, w tym:

  • Wykonywanie przekierowań
  • Dostosowywanie stron błędów
  • Restrykcja użytkowników na podstawie IP
  • Dodawanie typów MIME
  • Ustawianie nagłówków HTTP
  • Ochrona hasłem niektórych folderów

Plik .htaccess może być użyty do osiągnięcia znacznie więcej, jednak powyższa lista należy do najbardziej popularnych zastosowań .htaccess. Poniższa sekcja przedstawia różne przykłady .htaccess i jak mogą one być użyte w twojej własnej witrynie.

Przykłady .htaccess

Istnieje ogromna ilość możliwości konfiguracyjnych, które mogą być osiągnięte w ramach pliku .htaccess. Poniższa lista to kilka z częściej używanych przykładów.

Przekierowywanie użytkowników do określonej strony błędu

W oparciu o kod statusu, który zwraca określony plik lub strona, możesz przekierować użytkownika do niestandardowej strony błędu. Poniższy przykład pokazuje kilka wariantów, których możesz użyć. Każdy z nich zależy od kodu statusu, który jest zwracany.

ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html

Dodawanie niestandardowego nagłówka i wartości

Niestandardowe nagłówki HTTP mogą być również dodawane poprzez plik .htaccess. Istnieje kilka opcji składni, takich jak set, który zastąpi każdy poprzedni nagłówek o tej samej nazwie, add, który doda nagłówek nawet jeśli istnieje inny o tej samej nazwie. Odwiedź przewodnik po nagłówkach stron Apache’a, aby dowiedzieć się więcej.

Header set X-Custom "Custom Value"

W powyższym przykładzie, tekst X-Custom odpowiada nagłówkowi HTTP, który zostanie zwrócony w odpowiedzi HTTP, podczas gdy tekst Custom Value odpowiada wartości dla tego konkretnego nagłówka.

Blokowanie użytkowników na podstawie IP

Dla celów bezpieczeństwa, możesz blokować użytkowników na podstawie ich IP w pliku .htaccess. W poniższym przykładzie są dwa IP, które są zablokowane. Możemy również zdecydować, aby nie uwzględniać ostatniej cyfry adresu IP, co spowoduje, że wszystkie IP zawierające pierwsze trzy cyfry zostaną zablokowane.

order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all

Blokowanie odsyłaczy (ochrona hotlinków)

Blokowanie odsyłaczy, znane również jako ochrona hotlinków, jest metodą używaną do blokowania niektórych odsyłaczy z odsyłaczy do zasobów witryny, a tym samym kradzieży przepustowości. Użyj poniższego fragmentu, aby zdefiniować, które domeny nie mogą odwoływać się do Twojej zawartości i w związku z tym otrzymają błąd 403 Forbidden.

RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* - 

Podobną funkcjonalność można również osiągnąć za pomocą pulpitu nawigacyjnego KeyCDN. Aby dowiedzieć się jak zaimplementować ochronę hotlink w Twojej Strefie KeyCDN, odwiedź nasz przewodnik Zone Referrers.

Dodawanie typów MIME

Typy MIME określają do czego odnosi się dane rozszerzenie pliku. Dlatego czasami wymagane jest ustawienie tego w pliku .htaccess, aby poinformować serwer WWW, do jakiego typu pliku się odwołujesz. Aby zobaczyć pełną listę typów MIME, odwiedź Listę typów MIME.

AddType image/gif .gif .GIF

Buforowanie przeglądarki

Plik .htaccess może być również użyty do poprawienia wydajności witryny poprzez wykorzystanie buforowania przeglądarki. Każdy typ pliku może być zdefiniowany z określoną wartością wygaśnięcia. Możesz zdefiniować niestandardową listę typów plików i zmienić każdą z ich wartości wygaśnięcia, jednak poniższy fragment jest dobrym punktem wyjścia.

## EXPIRES CACHING ##<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"</IfModule>## EXPIRES CACHING ##

Enabling Gzip

Enabling Gzip na twoim serwerze początkowym pomaga poprawić wydajność twoich zasobów, ponieważ są one skompresowane i dzięki temu mogą być dostarczane szybciej. Możesz zdefiniować własną listę typów MIME, które mają być Gzipowane, jednak poniższy przykład jest dobrym punktem wyjścia. Aby dowiedzieć się więcej o korzyściach z Gzip i jak to działa, przeczytaj nasz artykuł Włącz kompresję Gzip.

<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml</IfModule>

Odmawianie metod żądania HTTP

Istnieje kilka metod żądania HTTP, które są używane do osiągnięcia różnych wyników. Jeśli istnieją pewne metody HTTP, których nie chcesz, aby użytkownik stosował w witrynie, możesz je odrzucić za pomocą .htaccess.

RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* - 

Wykonywanie przekierowań 301

Jeśli musisz wykonać przekierowanie 301 dla strony, która została przeniesiona, można to łatwo osiągnąć za pomocą .htaccess. Wystarczy użyć poniższego snippetu, który pobiera pierwszy adres URL (stary link) i przekierowuje go na drugi adres URL (nowy link).

Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page

Włączenie CORS

Włączenie CORS jest kluczowe dla dostarczania statycznych zasobów przez różne źródła. Poniższy fragment może być dodany do twojego pliku .htaccess, aby umożliwić wszystkim źródłom współdzielenie zasobów. W przeciwnym razie, jeśli nie jest to włączone, a twoje źródło żąda zasobów z innego źródła, otrzymasz błąd CORS. Przeczytaj więcej o CORS w naszym artykule How to Use CORS.

<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css|js|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch></IfModule>

Powyższe przykłady .htaccess są świetnym punktem wyjścia dla tych, którzy nie są jeszcze zaznajomieni z używaniem .htaccess, ale nadal chcą wykonać pewne konfiguracje serwera WWW. Plik .htaccess ma możliwość wykonywania szeregu zadań i jest dość elastyczny, aby dopasować się do potrzeb twojej witryny. Chociaż te przykłady .htaccess są świetnym punktem wyjścia, możesz chcieć wykonać bardziej zaawansowane konfiguracje .htaccess. Aby dowiedzieć się więcej na ten temat rozważ sprawdzenie artykułu AskApache’s .htaccess file guide article.

Similar Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.