Néhány ember talán még nem ismeri a .htaccess hatalmát. Ebben a cikkben összeszedtem néhány .htaccess szabályt, amelyet már korábban használtam vagy teszteltem. A .htaccess fájl segíthet olyan egyszerű feladatok elvégzésében, mint egy átirányítás vagy a weboldal optimalizálása.

A .htaccess egy könyvtárszintű konfigurációs fájl – vagyis a beleírt parancsok arra a mappára, valamint azok almappáira vonatkoznak, amelyekben az adott .htaccess fájl megtalálható, azt viszont tudni kell, hogy a .htaccess fájlt csak Apache szerver esetén tudjuk használni.

Ha még nincs .htaccess fájlunk hozzunk létre egyet. Ezt akár egy egyszerű szövegszerkesztővel (WordPad) is létre hozhatjuk. Ügyeljünk rá, hogy mentésnél a pont mindenképp legyen ott a htaccess elnevezés előtt.

Létrehozás után FTP-n keresztül kell feltöltenünk a .htaccess fájlt a szerverre és pontosan oda, ahol a weboldalunk is található. Ez az esetek nagy részében a public_html mappát jelenti.

Ha már van .htaccess fájlunk, szerkesztése előtt készítsünk biztonsági másolatot az eredeti fájlról!

1. Egyedi hibaoldalak

Az egyedi hibaoldalak létrehozása nagyon hasznos. Lehetővé teszi, hogy a weboldal látogatói barátságos hibaüzenetet kapjanak, például ha a weboldal URL-je nem elérhető.

ErrorDocument 400 /400.php
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php

2. Weboldal átirányítása www-ről www nélkülire

Alapértelmezetten a weboldalunk elérhető www előtaggal illetve www nélkül is. A Google keresési eredményeiben sajnos rosszabb helyezést ér el az a weboldal, amelyiknél a tartalom elérhető www-vel is és www nélkül is.

RewriteEngine On
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^simplesite\.hu
RewriteRule (.*) https://simplesite.hu/$1 [R=301,L]

3. Weboldal átirányítása www nélküliről www-re

Alapértelmezetten a weboldalunk elérhető www előtaggal illetve www nélkül is. A Google keresési eredményeiben sajnos rosszabb helyezést ér el az a weboldal, amelyiknél a tartalom elérhető www-vel is és www nélkül is.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^simplesite.hu [NC]
RewriteRule ^(.*)$ https://www.simplesite.hu/$1 [L,R=301]

4. URL-ből a .php végződés eltávolítása

Sokszor felhasználóbarát URL-eket szeretnénk megjeleníteni a weboldalon. Ezenkívül SEO szempontból is jobb, ha nem használunk fájlkiterjesztéseket az URL-ben.

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.php\ HTTP/
RewriteRule ^(.*)\.php$ /$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

5. URL-ből a .html végződés eltávolítása

Sokszor felhasználóbarát URL-eket szeretnénk megjeleníteni a weboldalon. Ezenkívül SEO szempontból is jobb, ha nem használunk fájlkiterjesztéseket az URL-ben.

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]

6. Weboldal átirányítása HTTP-ről HTTPS-re

Az SSL tanúsítvány szerverre való telepítése után szükséges azt átirányítással használni. Más esetben a weboldal egyszerre működik HTTP és HTTPS-ként, amely így továbbra is figyelmeztet a nem biztonságos kapcsolatra.

RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

7. Böngésző oldali gyorsítótárazás

A gyorsítótárazás segítségével a böngésző nem tölti le állandóan a webszerverről a fájlokat, hanem a gyorsítótárból tölti be azokat.

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"
AddType application/font-sfnt otf ttf
AddType application/font-woff woff
AddType application/font-woff2 woff2
AddType application/vnd.ms-fontobject eot
AddType image/svg+xml .svg svg
ExpiresByType application/font-sfnt "access plus 1 year"
ExpiresByType application/font-woff "access plus 1 year" 
ExpiresByType application/font-woff2 "access plus 1 year"
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
</IfModule>

8. Fájlok Gzip tömörítésének engedélyezése

A gzip engedélyezésével a szerver tömörítve szolgálja ki a weboldalt, így a látogató böngészője már a tömörített csomagot tölti le, ettől pedig a weboldal betöltése gyorsabb lesz.

<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/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/json
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>

Hasznos volt? Ossza meg ismerőseivel!