.htaccess plik konfiguracyjny serwera Apache. Plik .htaccess jest charakterystycznym elementem serwera WWW, pozwalającym skonfigurować niektóre jego parametry. Może zostać umieszczony w każdym katalogu.
Wywołując tym samym określoną reakcję odnośnie znajdujących się w nim plików, jak również zawartości podkatalogów, chyba, że w podkataloguumieszczono kolejny .htaccess.
.htaccess plik konfiguracyjny serwera Apache
W ramach jednego konta może funkcjonować wiele niezależnych plików .htaccess, z których każdy definiuje inną akcję. Za pomocą specjalnych dyrektyw możliwe jest m.in. wskazywanie stron WWW wyświetlanych w odpowiedzi na różne komunikaty błędów serwera, ograniczanie dostępu do zasobów i wiele innych.
Plik .htaccess odczytywany jest podczas każdego żądania dotyczącego plików danego katalogu, a więc jego modyfikacja znajduje natychmiastowe odzwierciedlenie w zachowania się serwera co może stanowić alternatywne rozwiązanie zmiany konfiguracji serwera w czasie jego pracy i jest swoistym rozszerzeniem pliku konfiguracyjnego httpd.conf, który jest odczytywany tylko raz podczas startu serwera.
Zaletą takiego rozwiązanie jest elastyczność administrator może zmienić konfiguracje poprzez modyfikacje tego pliku w dowolnym momencie bez potrzeby zatrzymywania Apacze. Niestety odbywa się to kosztem dość poważnego spadku wydajności spowodowanego koniecznością przeczytania i przeanalizowania przez serwer tego pliku podczas każdego odwołania do tej witryny.
.htaccess plik konfiguracyjny serwera Apache
Administrator może graniczyć efekt działania pliku za pomocą dyrektywy AllowOverride lub uniemożliwić klientom witryny podglądanie tego pliku. W tym celu należy w pliku konfiguracyjnym httpd.conf umieścić dyrektywę
<Files .htaccess>
Order allow, deny
Deny from all
</Files>
Nazwa .htaccess jest domyślną nazwą pliku konfiguracyjnego Apache. Może jednak zostać zmieniona za pomocą dyrektywy AccessFileName.
.htaccess – różne przykłady zastosowań
Ograniczenie odwiedzającym dostęp do określonego katalogu. Należy w tym katalogu umieścić plik .htacces z następującą treścią:
AuthName \”Dostep za zgodą forma.com.pl\”
AuthType Basic
AuthUserFile /ściezka do tajnego katalogu/.htpasswd
require valid-user
Do tego potrzebny jest jeszcze plik .htpasswd zawierający hasła i loginy dostępowe do ów katalogu. Hasła dodajemy za pomocą programu htpasswd, który znajduje się w katalogu c:\usr\Apache2\bin i wykonujemy:
htpasswd -c -b / ściezka do tajnego katalogu /.htpasswd user haslo
Opcja „c” służy nam jedynie wtedy gdy po raz pierwszy tworzymy plik z hasłami. Każde następne wywołanie wykonujemy już bez parametru –c
Zablokowanie dostęp niektórym IP, do serwera lub strony , plik .htacess powinien wyglądać tak:
Order allow,deny
Allow from all
Deny from xxx.xxx.xxx.xxxGdzie xxx.xxx.xxx.xxx to IP, które chcemy zablokować.
Zabezpieczenie się przed wyświetleniem zawartości katalogu, jeżeli w nim nie ma pliku startowego (index.html, index.php, itp.)
DirectoryIndex index.php index.html index.htm index.php3
Options -Indexes
.htaccess – zdefiniowanie własnej strony błędów
Aby zdefiniować własne strony błędów hosta lub serwera należy założyć na nim katalog o dowolnej nazwie np. error i wgrać do niego własne strony błędów.
Następnie należy wyedytować plik .htaccess o przykładowej treści i wgrać do katalogu głównego serwera – przykładowa treść poniżej:
ErrorDocument 400 http://domena.pl/error/400.shtml
ErrorDocument 401 http://domena.pl/error/401.shtml
ErrorDocument 403 http://domena.pl/error/403.shtml
ErrorDocument 404 http://domena.pl/error/404.shtml
ErrorDocument 405 http://domena.pl/error/405.shtml
ErrorDocument 406 http://domena.pl/error/406.shtml
ErrorDocument 408 http://domena.pl/error/408.shtml
ErrorDocument 410 http://domena.pl/error/410.shtml
ErrorDocument 411 http://domena.pl/error/411.shtml
ErrorDocument 414 http://domena.pl/error/414.shtml
ErrorDocument 500 http://domena.p/error/500.shtml
ErrorDocument 503 http://domena.pl/error/503.shtml
Oczywiście adresy plików są dowolne, nie wszystkie kody błędów trzeba ustawiać, będą działać w takim przypadku te dla całego serwera.
Definiowanie strony głównej za pomocą .htaccess
Funkcja definiowania strony głównej umożliwia określenie dokumentów wyświetlanych domyślnie po wpisaniu odnośnika, który nie zawiera wywołania konkretnej strony (np. http://biuro.firma.com.pl/oferta).
Index start.htm start.html index.htm index.html index.php
Jak zdefiniować przekierowanie 301 w pliku .htaccess?
Kod 301 oznacza „Moved Permanently”, czyli trwale przeniesiony. Przekierowanie 301 powinniśmy stosować w przypadku, gdy posiadamy kilka domen, które wskazują na tą samą stronę internetową. Na przykład dla Google strona znajdująca się pod adresem twoja-strona.pl i www.twoja-strona.pl są to dwie różne strony. Dlatego należny wybrać adres główny z www lub bez i za pomocą przekierowania 301 a pozostałe domeny skierować na adres główny.
.htaccess – wymuszanie adresu domeny z przedrostkiem „www.” lub bez
RewriteEngine On
RewriteCond %{HTTP_HOST} ^twojadomena.pl$ [NC]
RewriteRule ^(.*)$ http://www.twojadomena.pl/$1 [R=301,L]
przekierowanie z jednej domeny na drugą w pliku .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?stara-domena\.pl [NC]
RewriteRule (.*) http://nowa-domena.pl/$1 [R=301,L]
Wymuszanie w .htaccess – adresu domeny z przedrostkiem „https://”
RewriteEngine On
RewriteCond %{HTTPS} !^on$
RewriteRule ^(.*)$ https://www.domena.pl/$1 [R=301,L]
.htaccess – zabezpieczenie przed linkowaniem obrazków
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?twojadomena\.pl [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^http://.*$
RewriteRule \.(jpe?g|gif|bmp|png)$ /obrazki/image.png [L]
.htaccess – przekierowanie kilku domen na jeden adres
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domena1.pl$ [OR]
RewriteCond %{HTTP_HOST} ^(www\.)?domena2.pl$
RewriteRule ^(.*)$ http://www.domena.pl/$1 [R=301,L]
- Inteligentny Dom – Jak Ułatwia Życie i Oszczędza EnergiiInteligentny Dom. Czy kiedykolwiek marzyłeś o domu, który mógłby sam… Czytaj więcej: Inteligentny Dom – Jak Ułatwia Życie i Oszczędza Energii
- Pomysły na Smart Home w Twoim Domu – Jak to Zrobić?Smart Home. Witaj w naszym artykule o inteligentnych domach! Czy… Czytaj więcej: Pomysły na Smart Home w Twoim Domu – Jak to Zrobić?
- Obsługa Serwera WWW – Profesjonalne RozwiązaniaObsługa serwera www. Witajcie! Czy kiedykolwiek zastanawialiście się, jak ważną… Czytaj więcej: Obsługa Serwera WWW – Profesjonalne Rozwiązania
- Optymalizacja Serwera WWW – Szybkość i BezpieczeństwoOptymalizacja serwera www. Pamiętasz to uczucie frustacji, gdy strona internetowa… Czytaj więcej: Optymalizacja Serwera WWW – Szybkość i Bezpieczeństwo
- Porównanie Serwerów WWW – Wybierz Najlepszy HostingPorównanie serwerów www. Czy zastanawiałeś się kiedyś, jaki jest najlepszy… Czytaj więcej: Porównanie Serwerów WWW – Wybierz Najlepszy Hosting
- Jak Wybrać Serwer WWW: Nasze Porady EkspertówJak wybrać serwer www. Czy kiedykolwiek zastanawiałeś się, jaki serwer… Czytaj więcej: Jak Wybrać Serwer WWW: Nasze Porady Ekspertów