A Mod_Rewrite beállítása

A Apache A webszerver az Internet egyik fő építőeleme, amely weboldalakat és alkalmazásokat szolgál fel. Ez egy összetett rendszer, sok lehetőséggel, és az egyik legfontosabb az átírási modul, vagy röviden a "mod_rewrite". Ebben a cikkben megvizsgáljuk a mod_rewrite használatát, majd feltárjuk, hogyan állíthatjuk be saját Apache-alapú webhelyén.

Az Apache átírási modul célja

A modul célja az URL-ek átírása különféle hasznos módszerekkel. Ez azt jelenti, hogy amikor a felhasználók egy URL-en keresztül érkeznek az Ön webhelyére (vagy beírva azt, vagy kiválasztva egy azt tartalmazó linket), akkor egy másik URL-re kerülnek. Ennek számos oka lehet.

Felhasználók átirányítása

A mod_rewrite segítségével régebbi, elavult oldalakról jelenítheti meg a felhasználókat, amelyek továbbra is megjelenhetnek a keresési eredmények között, újabb, naprakész oldalakra. Tegyük fel például, hogy van egy oldala a címen https://www.mysite.com/review2015; ha valaki hivatkozásként találkozik ezzel, és kiválasztja, akkor az átírási szabály segítségével irányíthatja http://www.mysite.com/review2019.

instagram viewer

Könnyebb megjegyezni az URL-eket

Valószínűleg látott már olyan linkeket, amelyek az e-kereskedelemmel kapcsolatosak, például URL-ekkel https://www.thestore.net/3d78654954c29ace998658. A fejlesztők ehhez hasonló címkéket használnak, hogy megbizonyosodjanak arról, hogy az elemeknek egyedi azonosítójuk van, de nem technikus típusúaknál nehéz megjegyezni.

Szerencsére az újraírási szabály segíthet egy szép URL közzétételében, például https://www.thestore.net/notebooks/spiral/3-subject-spiral/, ami követve a látogatót a csúnya URL-hez vezet.

Egyedi oldalnevek

A web kezdeteiben gyakori volt az oldalfájlok tényleges nevének megtekintése, amikor meglátogatott egy webhelyet. Például egy webhely "Rólunk" oldala lehet " http://www.someguys.org/about.html."

De van néhány oka annak, hogy már nem látja ezeket annyira. Az első az, hogy sok webhelyet tartalomkezelő rendszerek működtetnek, amelyeknek csak néhány tényleges oldalfájlja van. A tartalom fennmaradó része dinamikusan hozzáadódik az oldal megjelenítésekor, így minden oldal úgy nézhet ki, hogy ugyanaz az URL-címe van, például: " http://www.someguys.org/index.php." Az URL átírása lehetővé teszi ezeknek a különálló oldalaknak a megjelenését, miközben továbbra is dinamikus CMS-t használ a webhely kezeléséhez.

Érthetőbb URL-ek

A keresőmotorok az oldalakat magasabbra rangsorolják, ha könnyen érthető URL-ek vannak. Ez azt jelenti, hogy a webhelyeknek előnyös, ha URL-jük https://www.thecompany.com/services/consulting" ahelyett " https://www.thecompany.com/index.php? section = services & page = consulting, "mivel az utolsó rész inkább kódnak tűnik, mint URL-nek.

Az átírás biztosítja, hogy mindig a legjobb arcát tegye előre, az URL szempontjából.

A mod_rewrite beállítása a webhelyen

Az URL átírásának Apache használatához két fő összetevőre van szükség:

  • A tényleges átírási modul engedélyezése az Apache-on belül
  • A szükséges átírási szabályok felsorolása egy .htaccess fájlban.

Míg az URL átírásának felhasználása ugyanúgy vonatkozik más webszerverekre, mint az IIS vagy az nginx, a mod_rewrite és az alábbi módszerek csak az Apache-ra vonatkoznak.

Engedélyezze az Átírás funkciót az Apache-ban

Először be kell kapcsolnia az átírási funkciót az Apache telepítésében.

  1. Meg kell találnia, hol található az Apache konfigurációs fájlja. Ez a használt telepítőtől függ.

    • Windows rendszeren keressen egy "/ conf" nevű könyvtárat az Apache telepítési könyvtárában.
    • A macOS népszerű XAMPP telepítőjén az / Applications / XAMPP / xamppfiles / apache2 / conf könyvtárban található.
    • Linuxon az / etc / apache2 könyvtárban jelenik meg. Mindenesetre "httpd.conf", "http.conf" vagy "apache2.conf" nevű fájlt keres, így ezek keresésére az operációs rendszer keresési funkcióját is használhatja.
  2. Nyissa meg a konfigurációs fájlt például egy szövegszerkesztőben Windows Jegyzettömb vagy TextEdit a macOS-on.

  3. Keresse meg a "#LoadModule rewrite_module modules / mod_rewrite.so" sort, és távolítsa el a hashtaget az elején. Ez egy megjegyzést jelöl, vagyis ha ott van, az Apache szerver figyelmen kívül hagy mindent ezen a vonalon. Távolítsa el a hashtaget, és legközelebb az Apache végrehajtja ezt a sort, amikor elindul.

  4. Mentse a konfigurációs fájlt, és indítsa újra az Apache szervert.

  5. Alternatív megoldásként a Linux egyes verzióin láthat néhány könyvtárat, például "/ etc / apache2 / mods-available" és "/ etc / apache2 / mods-enabled". Ezek biteket tartalmaznak a konfigurációs fájlokból dinamikusan. Ebben az esetben a következő parancsok futtatásával először engedélyezheti az átírási modult, majd indítsa újra az Apache szervert:

    sudo a2enmod átírni
    systemctl indítsa újra az apache2-t
  6. Az Apache szerver készen áll az URL-ek átírására. Csak most kell elmondanod, melyiket írd át, és milyen körülmények között.

A Mod_Rewrite szabályok meghatározása a webhelyen

Meg kell határoznia a mod_rewrite szabályait a reguláris kifejezés nyelvének használatával. Szerencsére van némi segítség. Egy engedélyezni kívánt átíráshoz használhat olyan eszközt, mint a VisioSpark szabálygenerátora.

  1. Írja be az URL-t, amelyről át akar írni, vagyis azt, amelyet a felhasználó megad Tól től: terület.

  2. Írja be az URL-t, amelyre át akarja írni, vagyis azt, ahová a felhasználó kerül Nak nek: terület.

    A GUI átírási szabálygenerátorok megtakaríthatják a RegEx tanulásának erőfeszítéseit
  3. Válassza ki a Captcha vezérlőt, majd válassza a lehetőséget Megy. Ezután a generátornak a "RewriteRule.

    Ha véletlenül talál másik generátort, akkor ezek a lépések kissé eltérhetnek, de remélhetőleg ugyanabban a ballparkban.

A webhely Mod_Rewrite szabályainak megadása

Tehát ez nagyszerű, egy kattintással kattintva megteheti ezeket a szabályokat. De hova rakod őket?

A szabályok használatához egy webhelyen létre kell hoznia egy .htaccess nevű fájlt a webhely gyökerében. Ez kissé platformfüggő, ahol egy adott webhely fájljait tárolják, de ezt ki kell találnia ahhoz, hogy eleve ott telepítse a webhelyét.

Lehet, hogy már van ilyen nevű fájl. Ha igen, nagyszerű! Egyszerűen hozzáadhatja a sorokat ahhoz a fájlhoz.

  1. Hozzon létre egy új szöveges fájlt a következő névvel:.htaccess"a webhely gyökérkönyvtárában.

  2. Az első sorba írja be az alábbi kódot. Ez megmondja a kiszolgálónak, hogy engedélyezni szeretné az aktuális webhely újraírását.

    RewriteEngine on
  3. Ezután adja hozzá a generátorral létrehozott összes sort. A fájlunk kezdete így néz ki:

    RewriteEngine on
    RewriteRule ^ jegyzetfüzetek / spirál / 3 tárgyú spirál / $ / 3d78654954c29ace998658? &% {QUERY_STRING}
  4. Mint minden Apache konfigurációs változtatásnál, itt is érdemes újraindítani a szervert.

A Mod_Rewrite használata időbe telik, de az eredmények megérik

A mod_rewrite függvény használata az Apache-on mindenképpen némi erőfeszítést igényel. Meg kell birkóznia a szöveges konfigurációs fájlokkal, meg kell találnia a módját, hogy nagyon finom finomságú reguláris kifejezéseket juttasson ezekbe a fájlokba, és tudnia kell, hogyan állítsa le és indítsa újra a szolgáltatást. Valószínűleg sok próbára és hibára lesz szükség, mielőtt valami olyat kapna, amely nem eredményez hibát és helyesen viselkedik.

Ez azt jelenti, hogy ha egyszer rájössz, akkor a mod_rewrite nagy hasznot fog hozni. A látogatók jobban emlékezni fognak az URL-ekre, és a Google-on elfoglalt helyezésed valószínűleg javulni fog. Az így létrejövő "csinos URL-ek" végül is nem csak bemutatásra szolgálnak. Funkcionálisak is.

instagram story viewer