A .htaccess fájl vagy elosztott konfigurációs fájl egy robusztus fájl, amelyet egy webhely konfigurációinak vezérlésére és kezelésére használnak. Minden konfigurációs módosítás könyvtáranként történik, hogy a fő szerverkonfigurációs fájlok érintetlenek maradjanak.
Mikor előnyös a .htaccess fájl használata
Akár hibaoldalakat szeretne betölteni, akár jelszavas biztonságot szeretne bevezetni, a .htaccess számos módon használható. A leggyakoribb példák közé tartoznak a következők:
-
Átirányítások hozzáadása egy adott URL-hez vagy URL-ek listájához.
-
Jelszavas védelem engedélyezése a szerver bizonyos könyvtárain.
-
Egyedi hibaoldalak betöltése.
-
A webhely kényszerítése a HTTPS használatára a HTTP helyett.
-
Célzott IP-címek vagy tartományok blokkolása.
Ebben az útmutatóban végigvezetjük a lépéseken a .htaccess fájl engedélyezéséhez, létrehozásához és használatához.
Előfeltételek
Az útmutató követéséhez a következőkkel kell rendelkeznie:
-
A legújabb verziójú Ubuntu is telepítve van a rendszerén.
-
Apache webszerver telepítve kell, hogy legyen az Ubuntu szerverén.
-
Beállított Apache virtuális gazdagép a domainjéhez.
-
A rendszerfelhasználóknak rendelkezniük kell sudo jogosultságokkal.
-
SSL-lel biztosított virtuális gazdagép.
-
Kövesse az Securing Apache with Let’s Encrypt on Ubuntu 18.04 útmutatót, ha az Apache-ot a saját domainjével konfigurálja és biztosítja.
-
Alternatív megoldásként követheti a Create a Self-Signed SSL Certificate for Apache in Ubuntu 20.04 útmutatót, ha az Apache-ot tesztelési célokra kívánja használni.
-
|
Megjegyzés: Számos domainszolgáltató létezik, amelyektől egyedi domaineket vásárolhat online. Namecheap, Freenom, és Bluehost, hogy csak néhányat említsünk, jól ismertek kivételes szolgáltatásukról. |
Miután végzett a kezdeti beállításokkal, jelentkezzen be a szerverére sudo felhasználóként, és kezdjük el.
1. lépés — A .htaccess fájl engedélyezése
Alapértelmezés szerint a .htaccess fájl le van tiltva. Először meg kell változtatnunk az Apache konfigurációját, és engedélyeznünk kell a .htaccess fájlt.
Nyissa meg a apache2/sites-available/your_domain.conf virtuális gazdagép fájlt a nano vagy bármely más előnyben részesített szövegszerkesztő segítségével:
|
1 |
$ sudo nano /etc/apache2/sites-available/your_domain.conf |
Feltételezve, hogy készen áll az Apache webszerver útmutatóban leírt beállításokkal, a következő konfigurációs részletet fogja találni:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Ezután illessze be a következő Directory tartalmat a VirtualHost blokkon belül:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/your_domain> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow, deny allow from all </Directory> </VirtualHost> |
A fenti kódblokkban a(z) AllowOverride All a(z) Directory szekció alatt a legfontosabb mind közül. Ez a szekció engedélyezi a .htaccess fájlok használatát.
Ezután mentse el a munkáját, és zárja be a fájlt. Ha a nano szövegszerkesztőt használja, a CTRL + X, Y, majd ENTER billentyűkkel zárhatja be a fájlt.
A webszerver újraindítása előtt ellenőrizze a konfigurációt:
|
1 |
$ sudo apache2ctl configtest |
A kimenetben a Syntax OK üzenet fog megjelenni, ha minden a helyén van. Most indítsa újra a szervert a jelszóházirend hozzáadásához:
|
1 |
$ sudo systemctl restart apache2 |
Miután a .htaccess fájl beállításai engedélyezve vannak, ideje létrehozni egy új fájlt.
2. lépés — A .htaccess fájl létrehozása
A .htaccess fájl létrehozása egyszerű. Navigálnia kell a webes gyökérkönyvtárba (azaz a forráshoz), hogy megkeresse a .htaccess fájlt, így biztosítva a konfigurációs módosítások megfelelő végrehajtását.
|
Megjegyzés: Legyen óvatos a .htaccess fájl elhelyezésekor. Egy apró hiba a konfigurációban hátrányosan befolyásolhatja az adott könyvtárat és az alatta lévő könyvtárakat. Ha például több webhelyet szeretne futtatni ugyanazon az Apache szerveren, helyezze a .htaccess fájlt a webhelyhez rendelt webes gyökérkönyvtárba. |
Ha követte a fent említett előfeltételeket, a webes root könyvtárat a /var/www/my_domain/.htaccess helyen találja. Ezután hozzon létre egy .htaccess fájlt a webhelyéhez a következővel:
|
1 |
$ sudo nano /var/www/your_domain/.htaccess |
Miután a .htaccess fájlunk elkészült, nézzünk meg néhány használati esetet.
3. lépés — A .htaccess fájl gyakori használati módjai

A .htaccess oldal használata számos előnnyel jár a webhelyén. Beszéljük meg mindegyiket részletesen:
-
URL-ek átirányítása
Az URL-átirányítás (más néven URL-továbbítás) egy olyan webszerver-funkció, amellyel a domain látogatóit egy másik URL-re lehet átirányítani. A .htaccess fájlt használhatja az URL-átirányítási igényeihez. Adja hozzá a következőket a .htaccess fájlhoz a forrás-URL és a cél-URL összerendeléséhez:
|
1 2 3 4 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^testdomain.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.testdomain.com [NC] RewriteRule ^(.*)$ http://demodomain.com/$1 [L,R=301,NC] |
-
Egyéni hibaoldalak létrehozása
A .htaccess fájl egyik hasznos funkciója az egyéni hibaoldalak létrehozása. Általában, ha a felhasználó olyan oldalra bukkan, amely nem létezik a webhelyen, egy hibaüzenet jelenik meg a képernyőn. Néhány a gyakori HTTP-hibakódok közül:
-
400 Bad Request
-
401 Unauthorization
-
403 Forbidden
-
404 Not Found
-
500 Internal Server Error
-
502 Bad Gateway
-
503 Service Unavailable
Az alapértelmezett „A lap nem található” szerveroldali hiba helyett használja a .htaccess fájlt, hogy jobb, felhasználóbarátabb böngészési élményt nyújtson a felhasználóknak.
-
Biztonsági hitelesítés beállítása
A .htaccess fájl segítségével biztonsági hitelesítést is beállíthat. Ehhez létre kell hoznia egy .htpasswd fájlt a felhasználók hitelesítéséhez.
Használja a htpasswd parancsot egy jelszófájl létrehozásához biztonsági célokból. Az Apache ezt a jelszófájlt fogja használni az ellenőrzött felhasználók hitelesítésére. Navigáljon az /etc/apache2 könyvtárba, és hozzon létre egy bizalmas fájlt .htpasswd.
A szükséges .htpasswd fájl létrehozásához használja a -c opciót, amikor először használja ezt a jelszóbiztonsági segédprogramot. Ezután adja meg a felhasználónevet a parancs végén, hogy új bejegyzést hozzon létre a fájlban. Ezt követően cserélje ki a felhasználónevet nick (amelyet ebben az útmutatóban használunk) a saját felhasználónevére:
|
1 |
$ sudo htpasswd -c /etc/apache2/.htpasswd nick |
Ezután meg kell adnia és meg kell erősítenie a felhasználó jelszavát.
Olvassa el ezt az útmutatót a jelszavas hitelesítés Apache-on történő beállításáról és konfigurálásáról Ubuntu 20.04-en.
-
MIME-típusok hozzáadása
Az interneten használt fájlok osztályozása könnyedén elvégezhető a Multi-Purpose Internet Mail Extensions (MIME) típus segítségével. Számos olyan esetben, amikor egy webhely nem tud egy adott fájlt kiszolgálni, a kiterjesztések hozzáadása megoldja a problémát. Használja az alábbi kódot a Multipurpose Internet Mail Extensions (MIME) típusok hozzáadásához az Apache szerverhez a .htaccess fájlban:
|
1 |
AddType audio/mp4a-latm .m4a |
|
Megjegyzés: Útmutatónkban egy audiofájl MIME-típusa szerepel. Cserélje ki az alkalmazást és a fájlkiterjesztést a célzott MIME-típusra. Emellett győződjön meg arról, hogy a virtuális gazdagép konfigurációja és a .htaccess fájl helyének könyvtára képes használni a AddType direktívát. Ellenkező esetben 500 Internal Server Error hibaüzenetet kap. |
-
Szerveroldali beillesztések (SSI)
Az SSI-k olyan direktívák, amelyek dinamikus tartalommal látnak el egy HTML-oldalt. Arra használják, hogy nagyszámú oldalt frissítsenek bizonyos adatokkal anélkül, hogy minden egyes oldalt külön-külön frissíteni kellene.
A HTML-fájlokban a szerveroldali beillesztések (SSI) alapértelmezés szerint le vannak tiltva. Adja hozzá a következő kódot a .htaccess fájlhoz az SSI engedélyezéséhez:
|
1 2 |
AddType text/html .shtml AddHandler server-parsed .shtml</pre> |
A fenti sorok először ellenőrzik a .shtml fájlokat. A megerősítés ezután elküldésre kerül a .htaccess fájlnak, miközben lehetővé teszi a szerver számára az összes .shtml fájl elemzését.
Alternatív megoldásként használhatja az XBitHack direktívát több .html tartalom elemzésére ahelyett, hogy egyenként átnevezné az .shtml kiterjesztéseket. Adja hozzá a következő sort a .htaccess fájlhoz az XbitHAck használatához, és kérje meg az Apache-ot, hogy ellenőrizze az összes .html fájlt:
|
1 |
XBitHack on |
Ezután módosítania kell a jogosultságokat, hogy az oldal jogosult legyen az XBitHack használatára. Ehhez használja a következő chmod parancsot:
|
1 |
$ chmod +x pagename.html |
-
IP-címek kezelése
Időnként biztonsági okokból blokkolni szeretne egy IP-címet vagy egy IP-címtartományt, hogy ne látogathassák az oldalát. Illessze be a következő kódsorokat a .htaccess fájlba a célzott IP-cím korlátozásához:
|
1 |
Order Deny, Allow Deny from A.A.A.A (ahol A.A.A.A egy egy konkrét IPv4 cím) |
Több IP-cím blokkolásához használjon külön sort:
|
1 |
Order Deny Allow Deny from A.A.A.A (ahol A.A.A.A egy egy konkrét IPv4 cím) Deny from B.B.B.B (ahol B.B.B.B egy egy konkrét IPv4 cím) |
Emellett letilthatja a domaineket is a webhelye eléréséről. Korlátozzon egy adott domaint a következő kódsor hozzáadásával a .htaccess fájlhoz:
Order Deny, Allow Deny from www.blockdomain.com (ahol www.blockdomain.com egy konkrét domain)
A .htaccess használatának veszélyei
A
.htaccess fájl hozzáadása kétségtelenül okos lépés a webhely konfigurálásához és felhasználóbaráttá tételéhez. A konfigurációs beállítások módosítása azonban egyéb költségekkel is jár. Nézzünk meg néhány nyomós okot, amiért érdemes elkerülni a
.htaccess fájl használatát:
i. Teljesítménycsökkenés: Minden alkalommal, amikor a szerver beolvas egy oldalkönyvtárat és annak .htaccess fájlját, az oldal betöltődik. Ennek eredményeként a sebesség- és teljesítménycsökkenés elsődleges problémává válik.
ii. Biztonság: A .htaccess fájlokhoz való hozzáférés teljes ellenőrzést biztosít a szerver konfigurációja felett. Ez azt jelenti, hogy bármely illetéktelen felhasználó, aki hozzáfér a .htaccess hozzáférés a .htaccess fájlhoz, ami viszont potenciális biztonsági kockázatokhoz vezet.
iii. Hozzáférhetőség: A .htaccess fájlokat a legnagyobb gondossággal és figyelemmel kell kezelni. Ha bármilyen hiba van a .htaccess fájlban, az az egész weboldalt leállíthatja.
Összegzés
Ebben az útmutatóban átfogó képet kaptunk egy .htaccess fájl engedélyezéséről, létrehozásáról és használatáról. Megvitattuk azt az esetet, amikor és ahol a .htaccess fájlt használni kell. Használja ki a .htaccess fájlok nyújtotta lehetőségeket webhelye védelmére és a támadások elleni biztosítására. Azonban ennek a konfigurációs fájlnak a használata számos olyan buktatóval jár, amelyeket nem szabad figyelmen kívül hagyni. Röviden, használja a .htaccess fájlokat a szerver’ének használatától és a felhasználók hozzáférési igényeitől függően.
Ezenkívül további hálózati útmutatókat is találhat a mi blogunkon:
-
Alapvető HTTP-hitelesítés konfigurálása Nginx-szel Ubuntu 20.04-en
-
Nginx HTTP proxyzás, terheléselosztás, pufferelés és gyorsítótárazás: áttekintés
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.