W wielu przypadkach mimo wykupienia usługi hostingu nie mamy dostępu do pliku konfiguracyjnego apache’a czyli httpd.conf więc jest i na to wyjście. Możemy konfigurować wiele parametrów serwera w pliku .htaccess i o tym będzie niniejszy artykuł.
Po pierwsze plik .htaccess znajduję się najczęściej w katalogu głównym danej domeny, a jeśli mamy wiele domen na swoim serwerze to analogicznie i wiele takich plików możemy zmieniać / konfigurować. Pamiętać należy, że zapisy zawarte w pliku .htaccess funkcjonują dla danego katalogu oraz wszystkich podkatalogów w nim się znajdujących. Jeżeli np. w podkatalogu umieścimy inny plik .htaccess to dyrektywy w nim zawarte będą odnosiły się do tego podkatalogu i jego poniższych podkatalogów, a ten nadrzędny tylko do katalogu w którym został zamieszczony. W taki sposób można konfigurować odmiennie parametry w każdym z katalogów znajdujących się na serwerze.
Plik .htaccess jest zwykłym plikiem tekstowym ASCII i można go stworzyć ręcznie wykorzystując windowsowy notatnik.
Tworzymy “Nowy” plik (Ctr+N) > wprowadzamy potrzebne komendy pamiętając o znaku enter po każdej z nich > zapisujemy “Zapisz jako” > Nazwa pliku: “.htaccess” > w Zapisz jako typ: wybieramy “wszystkie pliki” > i klikamy Zapisz
Następnie taki plik wgrywamy na nasz serwer WWW do katalogu głównego domeny i nadajemy mu uprawnienia 644
chmod 644 .htaccess
Parametry ogólne pliku .htaccess
# ServerAdmin: SetEnv SERVER_ADMIN [email protected] # DirectoryIndex: DirectoryIndex index.html index.htm index.php /index.php # ochrona pliku htaccess <files .htaccess> order allow,deny deny from all </files> # wyłączenie sygnatury serwera ServerSignature Off # limit wgrywanych plików np. 10MB LimitRequestBody 10240000 # wyłączenie przeglądania katalogów z poziomu przeglądarki WWW Options All -Indexes
Rozszerzenia wszystkich plików
AddDefaultCharset UTF-8 DefaultType text/html AddType text/css .css AddType 'text/html; charset=UTF-8' .html AddType 'text/html; charset=UTF-8' .html.gz AddType 'application/xhtml+xml; charset=UTF-8' .xhtml AddType 'application/xhtml+xml; charset=UTF-8' .xhtml.gz AddType 'application/rdf+xml; charset=UTF-8' .rdf AddType text/plain .ini .sh .bsh .bash .awk .nawk .gawk .csh .var .c .in .h .asc .md5 .sha .sha1 # JavaScript (JS) markup AddType application/javascript .js AddType application/x-javascript .js AddType text/javascript .js AddType application/json .json # Audio AddType audio/ogg oga ogg AddType audio/mp4 m4a f4a f4b # Video AddType video/ogg ogv AddType video/mp4 mp4 m4v f4v f4p AddType video/webm webm AddType video/x-flv flv
Kompresja
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/pdf </IfModule>
Przeglądarka – cache
# A2592000 = 30dni <IfModule mod_expires.c> Header set cache-control: public ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpeg A2592000 ExpiresByType image/png A2592000 ExpiresByType text/css A2592000 ExpiresByType application/x-font-ttf A2592000 ExpiresByType font/opentype A2592000 ExpiresByType application/javascript A2592000 ExpiresByType text/javascript A2592000 </IfModule>
Konfiguracja pod WordPress
# ochrona pliku wpconfig.php <files wp-config.php> order allow,deny deny from all </files> # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d </IfModule> # END WordPress
Leave a Comment