Site icon FlexNet

Plik .htaccess a wordpress, joomla lub inny cms

3d 1024x1024 - Plik .htaccess a wordpress, joomla lub inny cms

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 twoj_mail@domena.com

# 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
Exit mobile version