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

  • Sk8erPeter

    nagyúr

    Hali!

    Apache mod_rewrite-ot használok egy .htaccess fájlon keresztül, és egy viszonylag komplex RewriteRule-t használok - sok a vagy feltétel, plusz az, hogy ha az egyik feltétel megvan, akkor mi szerepelhet még a következő alakban; ha a reguláris kifejezésnek megfelelt a felhasználó által beírt cím, akkor átadom query stringként (tehát viszonylag kötötten) az index.php mögé a megfelelő kifejezéseket (pl. ........ index.php?page=$1&lang=$4&dog_id=$7 [QSA]), egyébként pedig dobok egy 404-et. Utóbbit is úgy, hogy beletettem egy
    ErrorDocument 404 /index.php?page=404
    sort.
    Jó esetben viszont ezt:
    .../eng/home
    átalakítja ilyen formára:
    .../index.php?lang=eng&page=home

    Kérdéseim:

    1.) Ez a fenti ilyenformán jól működik, mégis felmerült bennem, hogy tulajdonképpen melyik a gyorsabb, az, ha Apache-csal vagy PHP-vel dolgozom fel a címet?
    Tudtommal egy ilyen szintű reguláris kifejezés már eléggé lassíthat, ezért gondolkoztam rajta, hogy talán lehetne gyorsítani rajta. De az is lehet, hogy sebesség szempontjából még így is ez a leggyorsabb megoldás, nem tudom, mert nem mértem.
    Nektek mi a tapasztalatotok, hogyan használjátok, mit javasoltok?

    2.) Tulajdonképpen ez a szerkezet így eléggé megköti a fejlesztő kezét, mert az értékek átadásának sorrendje határozza meg, melyik változóhoz lesznek rendelve a címek.
    Mégis tudtommal legtöbb helyen a "felhasználóbarát URL-ek" miatt ezt a módszert alkalmazzák.
    Ti hogy látjátok a kérdést? Másképp használjátok, vagy muszáj elfogadni, hogy ez egy viszonylag kötött szerkezet, jól kell kitalálni az elején, és nem érdemes változtatni rajta később? Mi van pl., ha a júzer már úgy könyvjelzőzte az oldalunkat, hogy http://blabla.hu/eng/home, mégis mi kitaláljuk közben, hogy valójában jobban tetszik az a sorrend, hogy http://blabla.hu/home/eng, tök mindegy milyen okból.

    3.) Több RewriteRule-t hogyan adtok hozzá úgy, hogy helyesen működjön?
    Pl. ha nem illik az egyik reguláris kifejezésre a cím, ugorjon a következő feltételre, és vizsgálja meg, arra illik-e.
    Egyébként így széjjelszedve a feltételeket gyorsabb lehet a dolog?

    Előre is köszönöm a konstruktív javaslatokat! :R

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

Hirdetés