.htaccess
.htaccess – domyślna nazwa pliku konfiguracyjnego serwera Apache, który umożliwia zmianę konfiguracji dla konkretnego katalogu. Plik konfiguracyjny może zostać utworzony w każdym katalogu, umożliwiając dodanie nowych lub zmianę istniejących dyrektyw ustawionych w głównym pliku konfiguracyjnym (httpd.conf). Zmienione ustawienia obowiązują dla danego katalogu jak i dla wszystkich podkatalogów, jeśli tylko dany podkatalog nie jest skonfigurowany jako osobny podserwer – należy zapamiętać, że w takim przypadku dziedziczenie ustawień zawartych w .htaccess nie zadziała.
Za pomocą specjalnych dyrektyw możliwe jest m.in. wskazywanie stron www wyświetlanych w odpowiedzi na różne komunikaty błędów serwera (np. 404), lub np. ograniczanie dostępu do zasobów znajdujących się na danym serwerze.
Plik konfiguracyjny odczytywany jest podczas każdego żądania dotyczącego plików danego katalogu, a więc jego modyfikacja znajduje natychmiastowe odzwierciedlenie w zachowaniu się serwera.
Przykłady
[edytuj | edytuj kod]Poniżej znajdują się komendy definiujące jaki tekst (bądź strona) ma zostać wyświetlony przy wystąpieniu określonego błędu. Tekst musi być ujęty w cudzysłowy.
ErrorDocument 404 "Na serwerze nie ma takiego dokumentu"
ErrorDocument 403 /plik403.html
W celu określenia domyślnego pliku strony www należy skorzystać z dyrektywy DirectoryIndex. Możemy podać kilka nazw plików oddzielając je kolejno spacjami. Kolejność ma znaczenie, ponieważ jeśli w katalogu nie ma pliku o danym rozszerzeniu (bądź nazwie), serwer automatycznie będzie próbował załadować plik o rozszerzeniu które jest podane jako następne.
DirectoryIndex index.html index.xhtml index.php glowna.html glowna.xhtml
#odczytuje index.html, a jeśli nie ma, to index.xhtml, a jeśli nie ma, to index.php, a jeśli nie ma, to glowna.html, a jeśli nie ma, to glowna.xhtml.
Poniższa komenda pozwala plikom z rozszerzeniem .test na wyświetlenie skryptów i dyrektyw HTML tak, jak ma to miejsce w przypadku plików .xhtml.
AddType application/xhtml+xml .test #to znaczy, że pliki .test będą rozpoznawane jako pliki .[[XHTML|xhtml]]
Poniższa komenda pozwala na wykonywanie kodu PHP w pliku z określonym rozszerzeniem (tutaj .xhtml).
AddType application/x-httpd-php .xhtml #działa podobnie jak poprzednio
Poniższy fragment pozwala chronić pliki za pomocą prostej autoryzacji[1].
AuthType Basic
AuthName "Proszę podać nazwę użytkownika oraz hasło."
AuthUserFile /sciezka/do/pliku/z/uzytkownikami
Require user uzytkownik
To znaczy, że należy:
- Napisać kod w pliku .htaccess
- Utworzyć plik .htpasswd
Przykładowa zmiana kodowania za pomocą .htaccess.
AddDefaultCharset ISO-8859-2
AddDefaultCharset UTF-8
Za pomocą .htaccess można też dokonać przekierowania z innej domeny lub na subdomenę www
Redirect 301 / http://www.jakaś-domena-internetowa.pl/
Za pomocą .htaccess możemy zmniejszyć czas ładowania strony[2] poprzez kompresję plików G-zip
<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>
W pliku .htaccess możemy dostosować trwałość pamięci podręcznej, dzięki czemu znacznie przyspieszymy ładowanie strony
<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”
</ifModule>
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ Wcześniej należy stworzyć plik z użytkownikami i hasłami:
htpasswd -bc /sciezka/do/pliku/z/uzytkownikami
użytkownik hasło - ↑ Optymalizacja strony za pomocą pliku .htaccess [online], blog.widzialni.pl, 19 kwietnia 2017 [dostęp 2017-04-19] (pol.).