Kristabs Posted August 3, 2006 Report Share Posted August 3, 2006 Sveiki! Uzdevums: pārrakstīt esošu saitu uz "friendly urls". Vai ir kādi padomi, kāds ir visātrākais/vieglākais ceļš to izdarīt? Mans uz doto brīdi labākais variants liekas: www.domain.lv/?module=jaunumi&theme=kultura&valsts=latvija uz www.domain.lv/jaunumi/theme/kultura/valsts/latvija Saits ir diezgan paliels un kādi 30 dažādi moduļi, kuros katrā ir savi mainīgie. Šajā variantā arī nav jāpārraksta visi get variabļi pie apstrādēm. Ir kādi ieteikumi vēl? Link to comment Share on other sites More sharing options...
koko Posted August 3, 2006 Report Share Posted August 3, 2006 Nu nes... es uzrakstītu vienu rulli, kas savāc visu, kas ir pēc domēņa un tad ar preg_match saskaldiitu un paarrakstiitu ieksh tā paša $_GET, ko projektā izmanto, ja nu vienīgi tur kaut kā nav ar tiem urļiem peremudrīti un nevar ar tādu paņēmienu noteikt, tad laikam tava ideja būtu daudz maz pielietojamākā! Link to comment Share on other sites More sharing options...
Delfins Posted August 3, 2006 Report Share Posted August 3, 2006 jeb, PHP pregs/splits būs gana 100x gudrāks par parastu rewrite... Link to comment Share on other sites More sharing options...
Kristabs Posted August 3, 2006 Author Report Share Posted August 3, 2006 (edited) toč, tak i budu delatj. Edited August 3, 2006 by Kristabs Link to comment Share on other sites More sharing options...
KAC Posted August 3, 2006 Report Share Posted August 3, 2006 ka tikai koko to nebija kaut kur redzeejis... ;) Link to comment Share on other sites More sharing options...
Roze Posted August 3, 2006 Report Share Posted August 3, 2006 A prichom preg_match ja var explode("/",$taskasaizurlja); un tad analizeet pirmo, otro .. N-to elementu Link to comment Share on other sites More sharing options...
Kristabs Posted August 4, 2006 Author Report Share Posted August 4, 2006 (edited) Tā arī izdarīju. Pie tam, tagad var lēnām čibināt to saitu. Strādā gan vecās saites, gan jaunās, kas tiek pārrakstītas. <?php if(isset($_GET['url'])){ $tmp_url = explode("/",$_GET['url']); $_GET['mode'] = $tmp_url[0]; if(isset($tmp_url[1])){ $i = 1; $c = count($tmp_url); while($i < $c){ @$_GET[$tmp_url[$i]] = $tmp_url[$i + 1]; $i = $i + 2; } } unset($tmp_url); } ?> RewriteRule ^(.*)$ index.php?url=$1 Edited August 4, 2006 by Kristabs Link to comment Share on other sites More sharing options...
Recommended Posts