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:

  1. 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.
  2. 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.
  3. 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.




Kapcsolódó cikkek