Támogatás

author
7 minutes, 25 seconds Read
Frissítve 2018. október 4-én

Mi az a .htaccess?

A .htaccess fájl (más néven hipertext hozzáférési fájl) az Apache rendszerű webszerverek speciális konfigurációinak meghatározására szolgál. Ez a konfigurációs fájl hatással van arra a könyvtárra, amelyben tárolja, valamint a könyvtáron belüli összes alkönyvtárra. Ha például a .htaccess fájl a gyökérkönyvtárban található, akkor az egész webhelyre hatással lesz. Másrészt, ha a fájl egy adott könyvtárban található, akkor csak arra a könyvtárra és az azon belüli alkönyvtárakra lesz hatással.

Egyes CMS platformok, például a WordPress és a Drupal szintén rendelkeznek .htaccess fájlokkal, amelyek lehetővé teszik bizonyos, kizárólag az adott webhelyre vonatkozó konfigurációk megadását. A .htaccess fájl számos dolog elérésére használható, többek között:

  • Áttérítések végrehajtása
  • Hibaoldalak testreszabása
  • Használók IP alapján történő korlátozása
  • MIME típusok hozzáadása
  • HTP fejlécek beállítása
  • Bizonyos mappák jelszavas védelme

A .htaccess fájl sokkal több mindenre használható, azonban a fenti lista a .htaccess legnépszerűbb felhasználási módjai közé tartozik. Az alábbiakban különböző .htaccess példákat mutatunk be, és azt, hogyan használhatja őket saját webhelyén belül.

.htaccess példák

A .htaccess fájlban rengeteg konfigurációs lehetőség érhető el. Az alábbi lista a leggyakrabban használt példák közül mutat be néhányat.

A felhasználók átirányítása egy adott hibaoldalra

Az adott fájl vagy oldal által visszaküldött állapotkód alapján átirányíthatja a felhasználót egy egyéni hibaoldalra. Az alábbi példa néhány variációt mutat, amelyet használhat. Mindegyik a visszaküldött állapotkódtól függ.

ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html

Egyéni fejléc és érték hozzáadása

A .htaccess fájlon keresztül is hozzáadhatók egyéni HTTP fejlécek. Van néhány szintaxis lehetőség, mint például set, amely minden korábbi, azonos nevű fejléc helyébe lép, add, amely akkor is hozzáadja a fejlécet, ha létezik egy másik, azonos nevű fejléc. További információkért látogasson el az Apache oldalfejléc útmutatójába.

Header set X-Custom "Custom Value"

A fenti példában a X-Custom szöveg a HTTP-válaszban visszaküldött HTTP-fejlécnek felel meg, míg a Custom Value szöveg az adott fejléc értékének felel meg.

Használók blokkolása IP alapján

Biztonsági célból a .htaccess fájlban a felhasználókat az IP címük alapján is blokkolhatja. Az alábbi példában két IP van blokkolva. Dönthetünk úgy is, hogy az IP-cím utolsó számjegyét nem vesszük fel, ami azt eredményezi, hogy az összes olyan IP-t blokkoljuk, amely az első három számjegyet tartalmazza.

order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all

Hivatkozók blokkolása (hotlink-védelem)

A hivatkozók blokkolása, más néven hotlink-védelem egy olyan módszer, amellyel megakadályozhatjuk, hogy bizonyos hivatkozók hivatkozzanak a webhelye eszközeire, és így ellopják a sávszélességet. Az alábbi snippet segítségével meghatározhatja, hogy mely domainek nem hivatkozhatnak az Ön tartalmára, és így azok 403 Forbidden hibát kapnak.

RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* - 

A KeyCDN műszerfalon keresztül is elérhető hasonló funkció. A forró hivatkozások védelmének KeyCDN zónájában történő megvalósításához látogasson el a Zónahivatkozások útmutatóba.

MIME típusok hozzáadása

A MIME típusok határozzák meg, hogy egy adott fájlkiterjesztés mire utal. Ezért néha szükséges ezt beállítani a .htaccess fájlban, hogy tájékoztassa a webkiszolgálót, hogy milyen típusú fájlra hivatkozik. A MIME típusok teljes listájának megtekintéséhez látogasson el a MIME típusok listájára.

AddType image/gif .gif .GIF

A böngésző gyorsítótárazásának kihasználása

A .htaccess fájl a böngésző gyorsítótárazásának kihasználásával a webhely teljesítményének javítására is használható. Minden fájltípushoz meghatározható egy adott lejárati érték. Meghatározhatja a fájltípusok egyéni listáját, és módosíthatja mindegyik lejárati értékét, azonban az alábbi részlet jó kiindulási pont lehet.

## EXPIRES CACHING ##<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"</IfModule>## EXPIRES CACHING ##

Gzip engedélyezése

A Gzip engedélyezése az eredeti kiszolgálón segít javítani az eszközök teljesítményét, mivel azok tömörítve vannak, és így gyorsabban szállíthatóak. Meghatározhat egy egyéni listát a Gzippelni kívánt MIME típusokról, azonban az alábbi példa jó kiindulópont. Ha többet szeretne megtudni a Gzip előnyeiről és működéséről, olvassa el a Gzip tömörítés engedélyezése című cikkünket.

<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/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml</IfModule>

A HTTP-kérési módszerek tiltása

Egyéb HTTP-kérési módszerek vannak, amelyeket különböző eredmények elérésére használnak. Ha vannak bizonyos HTTP-módszerek, amelyeket nem szeretné, hogy a felhasználó a weboldalán alkalmazzon, akkor a .htaccess segítségével megtagadhatja őket.

RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* - 

301-es átirányítások végrehajtása

Ha egy áthelyezett oldalhoz 301 átirányítást kell végrehajtania, akkor ez könnyen megvalósítható a .htaccess segítségével. Egyszerűen használja az alábbi részletet, amely az első URL-t (régi link) átirányítja a második URL-re (új link).

Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page

CORS engedélyezése

A CORS engedélyezése elengedhetetlen a statikus eszközök különböző eredetű átviteléhez. A következő snippet hozzáadható a .htaccess fájlhoz annak érdekében, hogy minden origó számára lehetővé tegye az erőforrások megosztását. Ellenkező esetben, ha ez nincs engedélyezve, és az Ön eredete erőforrásokat kér egy másik eredettől, CORS hibát fog kapni. A CORS-ről bővebben a Hogyan használjuk a CORS-t című cikkünkben olvashat.

<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css|js|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch></IfModule>

A fenti .htaccess példák remek kiindulópontot jelentenek azok számára, akik még nem ismerik a .htaccess használatát, de mégis szeretnének bizonyos webkiszolgáló-konfigurációkat elvégezni. A .htaccess fájl számos feladat elvégzésére képes, és meglehetősen rugalmasan alkalmazkodik a webhely igényeihez. Bár ezek a .htaccess példák remek kiindulópontot jelentenek, előfordulhat, hogy néhány fejlettebb .htaccess-konfigurációt szeretne elvégezni. Ha többet szeretne megtudni erről a témáról, tekintse meg az AskApache .htaccess fájl útmutató cikkét.

Similar Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.