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!
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
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]
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]
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]
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]
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]
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>
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>