Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz Lacces #14359 üzenetére

    Hát akkor valamit nagyon félreértesz a webszerverhez érkező kérések kiszolgálásában, meg abban, hogy a SAJÁT WEBALKALMAZÁSOD milyen kimenetet generál... :U A saját webalkalmazásod olyan kimenetet generál, amilyet mondasz neki, hogy generáljon (meg nyilván amire képes). Elvárnád a webszerveredtől (!), hogy a kiszolgálás során, még a kliensnek való elküldés előtt parse-olja az egész HTML-kimenetet, vizsgálja meg, szerepel-e benne olyan URL, amit te át szeretnél írni, majd szépen az összes ilyet írja felül, és csak utána adja oda a kliensnek a HTML-kimenetet?
    Hát ez így elég vad lenne, és főleg totálisan értelmetlen, amikor a HTML-kimenetedet NEKED kell módosítanod, generálnod úgy, hogy az úgy nézzen ki, ahogy akarod.
    A RewriteRule szerepe elég "egyszerű": kliens szól, hogy szeretné az ezen az URL-en lévő tartalmat megkapni, a webszervered pedig ezt a kérést megkapja, eldönti, mit kell ezzel az URL-lel csinálni, mindezt az alapértelmezett webszerver-beállítások vagy a .htaccess/web.config/egyéb felülbírálások alapján, és ha olyan URL-t talál, amit át kell írni, akkor átírja arra, és kiszolgálja az ott lévő tartalmat. Így fordulhat elő az, hogy megadhatsz egy olyan URL-t, ami "mögött" ténylegesen, fizikailag nincs fájl, de a webszervered elintézi, hogy a kérésed végül ráfusson egy fájlra, amiben pedig eldöntöd, hogy ettől függően milyen tartalmat szolgálsz ki.

    Így működik a Prohardver fóruma is: pl. a
    http://prohardver.hu/tema/php_kerdesek_2/hsz_14201-14400.html
    cím mögött nyilván nincs fájl, hanem a webszerver "futtatja rá" valamilyen fizikailag is létező fájlra ezt a kérést, például a háttérben lesz valami ilyesmi (fogalmam sincs az igazi megvalósításról, úgyhogy csak példa):
    http://prohardver.hu/index.php?q=tema/php_kerdesek_2/hsz_14201-14400.html
    VAGY
    http://prohardver.hu/index.php?q=tema&topic_name=php_kerdesek_2&from=14201&to=14400
    VAGY
    ...............
    (számtalan példa lehetne még)
    aztán ennek feldolgozása szerveroldali kóddal...
    Remélem, így már tisztább.

    "Erre kaphatnék egy példát? Ezt hogyan lehetne másképp átírni?"
    Nem Te készíted az adott oldalt, amit kiszolgálsz? :U Csak mert erről sem írtál semmit...
    Amire gondoltam:
    van egy linked, például:
    <a href="web/oldal1.php">asd</a>
    szépen átírod a kódodban kis kezeddel úgy, hogy helyette inkább ezt generálja:
    <a href="oldal1.php">asd</a>
    ... vágod...

Új hozzászólás Aktív témák

Hirdetés