hmnc Posted January 27, 2005 Report Share Posted January 27, 2005 Sveiki! Nezinu vai mans jautājums te īsti iederētos, bet nu mēģināsim :) lieta tāda, ka ir vēlēšanās izveidot saitu, kur iekšējā adresācija būtu nevis šāda: site.net/index.php?kkas=2&act=3&mod=4&get=5 bet gan: site.net/2/3/4/5/ ar htaccess viss daudz maz skaidrs, bet kaut kur biju lasījis, ka to visu pasākumu var griezt bez htaccessiem. vai tas ir reāli? protams es nedomāju šo variantu: site.net/index.php/2/3/4/5/ kaut kā greizi izskatās :) bet nu jā. paldies jau iepriekš. Link to comment Share on other sites More sharing options...
рпр Posted January 27, 2005 Report Share Posted January 27, 2005 tev jaaskataas, tad buus pie apacha mod_rewrite modelja. http://httpd.apache.org/docs/mod/mod_rewrite.html Link to comment Share on other sites More sharing options...
hmnc Posted January 27, 2005 Author Report Share Posted January 27, 2005 tev jaaskataas, tad buus pie apacha mod_rewrite modelja.http://httpd.apache.org/docs/mod/mod_rewrite.html 13138[/snapback] nē nu tas jau arī bija domāts ar to htaccess. bet bez mod_rewrite nevar? Link to comment Share on other sites More sharing options...
justus Posted January 27, 2005 Report Share Posted January 27, 2005 var arii bez, uzraksti PHP skriptu kas apstraadaa nodotovai kaa to sauc un ar header() paaradresee kur vajag. Tikai tad jaapaardomaa sisteema. visas pieprasiitas saites nodot car sho Link to comment Share on other sites More sharing options...
Venom Posted January 27, 2005 Report Share Posted January 27, 2005 var nevis site.net/index.php/2/3/4/5/ bet site.net/?2/3/4/5/ un apstrādāt $_SERVER['QUERY_STRING'] a vispār nav vērts Link to comment Share on other sites More sharing options...
hmnc Posted January 27, 2005 Author Report Share Posted January 27, 2005 var nevissite.net/index.php/2/3/4/5/ bet site.net/?2/3/4/5/ un apstrādāt $_SERVER['QUERY_STRING'] a vispār nav vērts 13141[/snapback] nu jā. site.net/?2/3/4/5/ tas jau tas pats variants ir kas site.net/index.php?2/3... blabla kapēc nav vērts? domā bez htaccess nav vērts vai vispār nav vērts? Link to comment Share on other sites More sharing options...
Venom Posted January 27, 2005 Report Share Posted January 27, 2005 vispār Link to comment Share on other sites More sharing options...
рпр Posted January 27, 2005 Report Share Posted January 27, 2005 var jau arī ģenerēt htmlu smukajās direktorijās. Link to comment Share on other sites More sharing options...
Roze Posted January 27, 2005 Report Share Posted January 27, 2005 Var bez mode_rewrite bet ar ErrorDocument Proti ErrorDocument 404 /tavs/fails.php Līdz ar to kad useris ver vaļā http://saite.lv/blah/hah/ , kas fiziski neeksistē, tiek iekurbulēts tavs php fails un tad jau var analizēt $_SERVER['REQUEST_URI'] un darīt kaut ko tālāk. Link to comment Share on other sites More sharing options...
рпр Posted January 27, 2005 Report Share Posted January 27, 2005 bet gala rezultātā, ja izmanto header('location: '), tad adresbārā rādās tā adrese, kas netika ievadīta. Link to comment Share on other sites More sharing options...
bubu Posted January 27, 2005 Report Share Posted January 27, 2005 Tajā ErrorDocument'ā izvadi freimu, kura vidū ielādē to vajadzīgo lapu :) Bet tas jau sāk izklausīties pēc risinājum čerez ž.. Tad jau tiešām labāk mod_rewrite izmantot. Link to comment Share on other sites More sharing options...
hmnc Posted January 27, 2005 Author Report Share Posted January 27, 2005 muehehe. nu gan miljons variantu :D nēnu caur 404 taisīt tiešām ir kā metināt klāt bumbai rokturi. laikam tomēr jāpaliek pie htaccess uz modrewraita Link to comment Share on other sites More sharing options...
Roze Posted January 27, 2005 Report Share Posted January 27, 2005 bet gala rezultātā, ja izmanto header('location: '), tad adresbārā rādās tā adrese, kas netika ievadīta. 13153[/snapback] Nafig kaut kādi headeri?? Tajā ErrorDocument'ā izvadi freimu, kura vidū ielādē to vajadzīgo lapu Bet tas jau sāk izklausīties pēc risinājum čerez ž.. Un nafig freimi? http://roze.lv/dira/sdfgsdfg http://roze.lv/dira/lalalalallalal http://roze.lv/dira/1/2/34/345/456/37/567/ Ar Errodocument strādā tāpat. Un nekas nekur vairs nav jāredirektē. Vienīgi Errorlapai jābūt kaut kādam minimālajam izmēram jo savādāk IE zem kaut kādiem baitiem rāda savu defaulto. Mīnus šādam piegājienam ir webservera headeri :) HTTP request sent, awaiting response... 1 HTTP/1.1 404 Not Found ... Link to comment Share on other sites More sharing options...
Ežu Sargs Posted February 19, 2005 Report Share Posted February 19, 2005 (edited) mod_rewrite trūkums - papildslodze (kaut arī laikam neliela) procesoram, ErrorDocument - tas, ka šis ir "netīrs haks" "caur d.", un piesārņo error logu ar fake kļūdām.. Bet ir viena ļoti laba un vienkārša metode, kā šo lietu paveikt bez mod_rewrite, un bez ErrorDocument. Parasti tutoriāļos tā nav aprakstīta, tur uzreiz, ja runā par nice/cool/user-friendly URLs, uzreiz ķeras pie mod_rewrite, kā vienīgā iespējamā varianta. Apmēram, tā kā bija 'govorim "Partija", dumaem - Ļeņin!' Karoče, lieta ir tāda. Priekšnosacījums mod_rewrite NEizmantošanai: pirmais folderis URLī ir reāli eksistējošs FAILS. Ļoti piemērots variants daudzvalodīgajos webos, kas ir raksturīgi .lv zonā. Tad weba sāknē uztaisām failus ar nosaukumiem lv, en, ru; .htaccess'ā vai (labāk) apača config'ā nodefinējam, lai šos failus šajā folderī (t.i. ar pilnu ceļu) parsē PHP. Uz *NIX'ā šie faili būs symlink'i uz index.php, uz WIN tie saturēs vienu rindiņu <?php require 'index.php'; ?> Un tālāk, iekš index.php (vai labāk, nosaukt viņu ~ zverudarzs2006.php, lai nekur neparādās URLī, noslēpjot PHP izmantošanas faktu), darām apmēram tā: # definējam valodu $lang = basename($_SERVER['SCRIPT_NAME']); if (!in_array($lang, $CFG['languages'])) $lang = $CFG['languages'][0]; # parsējam URLi masīvā if (@$_SERVER['PATH_INFO']) { $url_array = explode('/', strip_tags($_SERVER['PATH_INFO'])); array_shift($url_array); } else { $url_array = array(); } # tagad šo masīvu var izmantot savām vajadzībām //echo "<pre>"; print_r($url_array); echo "</pre>"; Šo metodi izmantoju, piemēram, šeit (linku piemēri): http://smarthouse.lv/lv/gaisma http://smarthouse.lv/lv/produkti/filosofija p.s. serveris.lv uz kura jams stāv, gan nežēlīgi bremzē, laikam, savākušies pārāk daudz klientu, un pārslogots..] Edited February 19, 2005 by Ežu Sargs Link to comment Share on other sites More sharing options...
Roze Posted February 19, 2005 Report Share Posted February 19, 2005 Uz *NIX'ā šie faili būs symlink'i uz index.php, uz WIN tie saturēs vienu rindiņu <?php require 'index.php'; ?> Un tālāk, iekš index.php (vai labāk, nosaukt viņu ~ zverudarzs2006.php, lai nekur neparādās URLī, noslēpjot PHP izmantošanas faktu), darām apmēram tā: Manuprāt diezgan (galīgi) garām. Jo visa jēga dinamiskā webā jau ir šo failu neģenerēšanā. Pretēji ja manuāli veidojam visu lapas struktūru tad kāda īsti nozīme to visu saistīt ar mod_rewrite? Ko darīsi kad tiks izveidota jauna kategorija? Ņemsi taisīsi symlinku. ģēnerēsi jaunu diru ar ar failu kurā rakstīsi php kodu? Kas notiks ja materīali būs 100 - 1000 - 10000 ? Manuprāt šādi var iedzīvoties failsistēmas innožu trūkumā vai arī max open failu ierobežojumā. Failsīstēmas overheads ir krietni sāpīgāks par cpu noslodzi. Arī lapas pārlikšana uz citu serveri varētu radīt galvas sāpes. Var jau būt ka šis der kādā no weblapām ar pāris kategorijām, taču manuprāt kā universālu risinājumu to uzskatīt nekādi nevar. Link to comment Share on other sites More sharing options...
Recommended Posts