Apache2 hogyan kell beállítani egy átirányítási url

Ez üres papír. Befejezés gombra.

Eddig a RuNet nem voltam képes megtalálni egy cikket, amely elérhető lenne, és teljes mértékben meséltek, hogyan kell beállítani az irányelvek RewriteCond és RewriteRule .htaccess fájlt.

Sehol választ a legalapvetőbb kérdésekre: hogyan az átalakulás az URL, a böngésző? Hogyan látja az új transzformált URL-je? Lehetséges, hogy a napló URL leképezés?

Adj nekünk egy kis fekete doboz, amelyben szeretné, hogy írjon egy furcsa varázslat, nem látta, hogy mi történik a folyamat és a kimenet. Mi nem tetszik. Ezért mi meg fogjuk vizsgálni.

Az is elképzelhető, hogy a mod_rewrite Apache modul csatlakoztatva van és működik, és már csak a jogot arra, hogy az irányelvek URL átirányítja a .htaccess fájlban.

Hogyan működik az átirányítási URL .htaccess a mod_rewrite modul?

Vonalak programunk feltételes modul mod_rewrite irányelvek:

  • RewriteEngine - engedélyezése / tiltása átirányítás. Ez általában használt elején a fájlt. htaccess formájában:
RewriteEngine On
  • RewriteBase - meghatározása a gyökérkönyvtárban az átalakítás az URL-t a fájl nevét. Ez általában használt elején a fájlt. htaccess formájában: RewriteBase /
  • RewriteOptions - beállítás néhány speciális lehetőségeket az aktuális konfiguráció a szerver vagy könyvtár összefüggésben. Ebben az esetben nem kell figyelembe venni.
  • RewriteCond - egy előfeltétele a RewriteRule irányelvek. Lehet több RewriteRule RewriteCond. Ez a formátum:

    RewriteCond chto_sravnivaem s_chem_sravnivaem

    RewriteRule kerül végrehajtásra, ha az összes korábbi RewriteCond irányelvek vannak True.
  • RewriteRule - csapat URL leképezést. Ez a formátum:

    RewriteRule source_string (azaz. Minta) preobrazovannaya_stroka (azaz. A helyettesítés) [zászlók]

  • Itt most csak azokat a legegyszerűbb és legnépszerűbb átalakítása: átalakítása az URL-t a fájl neve a forrás, amely forog Apache.

    Milyen URL belsejébe .htaccess?

    A .htaccess fájl URL-karakterlánc belép jel nélkül a protokoll és a domain név.

    Hogyan látja az átalakulás URL?

    Bár nem fogjuk látni a változásokat, megy az URL, ha aktiválva mod_rewrite irányelvek. nem tudjuk megérteni a munkáját, és nem tudja megfelelően levelet .htaccess fájlt.

    Lásd a log-transzformáció lehetséges a naplóban mod_rewrite Apache. De először meg kell állítania az Apache, hogy információt konvertáló URL esik a naplóban. Beállítások az Apache 2.4-es és az Apache 2.4 és újabb különböző.

    Az Apache 2.4-es:

    A setup az Apache httpd.conf, szükség van a szabad szobák ellenőrzésére RewriteLog irányelvek és RewriteLogLevel. (Ha nincs szükség, hogy adjunk nekik), és állítsa be a következő értékeket az ezen irányelvek:

    # Apache 2.4-es,

    A log fájl elérési útját léteznie kell a fájlrendszerben. Ez a fájl fog fejlődni információt konvertáló URL.

    A Apache 2.4 és a fenti:

    A telepítő a Apache httpd.conf, meg kell találni a direktíva LogLevel és az értéke legyen:

    # Apache 2.4 és a fenti

    LogLevel riasztási átírni: trace3

    átalakítani az URL információkat fog kialakulni Apache log (ellenőrizze, hogy lehetséges, hogy nem, így nem kell az Apache 2,4).

    Ezt követően újra kell indítani az Apache. A naplók látható lesz a következő adatok:

    átírni 'admin / vipPortPageId / forward_function' -> 'index.php / admin / vipPortPageId / forward_function'

    RewriteCond: input = '/ kis / asdfsadf / avatar.jpg' minta = '^ / (*.) / (*.) (*.)' => Egyező

    RewriteCond: input = '/ var / www / local.dev / www / kis / avatar.jpg' minta = '- f' => párosított

    átírni 'kicsi / asdfsadf / avatar.jpg' -> '/small/avatar.jpg'

    belső átirányítás /small/avatar.jpg [belső átirányítás]

    Figyelem! Naplózás eredménye átalakulások mod_rewrite - egy nagyon időigényes folyamat. Ne engedje, hogy ezeket a beállításokat a szerver prodershene. Még a teszt szerver, naplózás konfigurálásához, hibakeresési átirányítás, majd vissza a beállításokat vissza.

    Kapcsolódó cikkek