A webmester hogyan hozza létre webhelyét
Modul mod_rewrite. 1. rész
A mod_rewrite modul az Apache webszerver program modul (vegye figyelembe, hogy nem fog futni más webkiszolgálók alatt!). Elsődleges funkciója az akciók manipulálása az URL-sel. A modul nagyon sokoldalú és sokoldalú, ezért igyekszem sok igazi példát bemutatni.
A Mod_rewrite egy nagyszerű modul, amely "szabályalapú mechanizmust biztosít a kért URL-ek dinamikus megváltoztatásához". Ez egy nagyon hatékony eszköz, ezért tudása alapvetően fontos, ha valódi webmester vagy webes programozóvá akar válni. Nem annyira elvileg, hogy használni fogod-e a munkádban, mennyire fontos, hogy tudja, mit tehet, és elmondhatja a főnöknek, ha van valami furcsa vágy a webszerverhez.
Ugyanakkor nagyon óvatosnak és aprólékosnak kell lennie, ha ezzel a modullal dolgozik! Néhány hiba, amelyet el tudsz tolerálni, logikai hurokhoz vezethet, ami a CPU (CPU) megszakítás nélküli 100% -os terhelését okozhatja.
Annak érdekében, hogy a gondolkodásnak ne legyen hosszadalmas, nagyon egyszerű példákat fogok adni.
Mielőtt elkezdenénk, meg kell győződnünk arról, hogy a modul telepítve-e a webszerverre, vagy sem.
Számos módon ellenőrizheti ezt:
- Kérdezze meg rendszergazdáját - tudja (vagy ő) a modul jelenlétét a webszerveren. Valóban tudniuk kell, de a gyakorlat szerint - nincsenek nagyon jól ismerõs rendszeradminõk is.
Ne töröld meg másokat: ha webszerverét több száz más domainvel használja, a tevékenységed alvó kutyák felébreszthet, mivel a mod_rewrite használatával a processzor némi megnövekedett terhelése jelentkezik. - Ellenőrizze az Apache konfigurációs fájlját (httpd.conf), ha hozzá fér hozzá. Egy lehetséges szabványútvonal lehet: /etc/httpd/httpd.conf Azonban az elérési útja ettől eltérő lehet.
- Ellenőrizze szervere működését az alábbi példákkal. Ha a kiszolgáló hiba nélkül fut, a mod_rewrite valóban telepítve van a rendszereden. Ha nem, akkor a következő üzenetet kapja, amikor bármelyik weblapot kér a kiszolgálótól: "Belső kiszolgálói hiba"
Ez a bejegyzés is megjelenik a error.log fájlban:
"Érvénytelen parancs" RewriteEngine ", talán helytelenül írt vagy egy olyan modul által definiált, amely nem szerepel a kiszolgáló konfigurációjában."
Most mélyebben vesszük az első gyakorlati példát.
Tegyük fel, hogy a mod_rewrite-t csak a saját webhelyére fogjuk használni, azaz nem általánosított kereszt-kiszolgáló telepítésként.
Példánk esetén a .htaccess fájlt kell használnunk.
.htaccess fájl
Ennek a módszernek a használatához le kell töltenie egy .htaccess nevű fájlt (kérjük, vegye figyelembe a fájlnév elején lévő pontot!) A kiszolgáló mappájához, amellyel dolgozni fog. Ez telnet vagy ftp segítségével végezhető el. (Figyelmeztetés: a htaccess-et "ASCII módban" kell betölteni, ez nem bináris módban van!)
Ha már van egy .htaccess fájl. például a következő bejegyzésekkel:
Az első két bejegyzés elindítja a modult:
Ha a rendszergazda megtiltja az Options + FollowSymlinks használatát. Nem fogja tudni korlátozni a mod_rewrite használatát az egyes könyvtárakra, ahelyett, hogy a módosítások a teljes kiszolgálóra vonatkoznak.
A következő bejegyzés a következő:
És most, uraim, lépjünk tovább érdekes rekordokra!
A hozzáférés blokkolásához írja be a következőket:
Ez a szabály a következőképpen fordul elő:
Ha valaki megpróbál hozzáférni a .htaccess fájlhoz. a rendszernek "HTTP válasz 403" vagy "403 Forbidden" hibakódot kell generálnia - Nincs jogosultsága a /.htaccess hozzáférésre ezen a szerveren.
A .htaccess $ konstrukció ebben a szabályos kifejezésben azt jelenti:
- ^ - kezdeti horgony
- $ A vonal horgonyának vége
- . - Szabályos kifejezésekben a pont "." Ez egy meta-szimbólumot jelöl, és egy visszafordulást kell védeni, ha továbbra is a tényleges pontot szeretné használni.
A fájlnévnek pontosan a kezdő és a végső horgonyok között kell lennie. Ez biztosítja, hogy csak ez a fajta fájlnév és más nem generál hibakódot.
- [F] - egy speciális "tiltó" zászló (tiltott).
Ebben a példában a .htaccess fájl az alábbi sorokat tartalmazza:
Ha hozzáadjuk kódunkat (a példákban) a meglévő .htaccess fájlhoz, akkor a következő konstrukciót kapjuk:
Ez a bevezetés csak a mod_rewrite modul használatához szükséges alapokat tartalmazza. A képzési cikkek második részében megpróbálom megmagyarázni a különböző feltételek használatát a modul konfigurációjában.