test2 Posted July 17, 2008 Report Posted July 17, 2008 (edited) Tātad man ir šādi GETI index.php?do=comments index.php?do=reg index.php?do=gallery man r gatavs rewrite, kas viņu pārstāda uz /comments/ /reg/ /gallery/ RewriteEngine On RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|jpeg) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ?do=$1 [QSA,L] Bet ir gadijumi, kur man ir vajadzība, kautvai tapašam index.php?do=comments paddot vel vienu mainīgo index.php?do=comments&id=2 index.php?do=gallery&id=2 Tātad man vajadzētu kko līdzīgu manam esošajam kodam, tikai lai rewraito arī nākamo ID, protams, es negribu katram GET sarakstīt manuāli, bet kā ir iekš tā mana gatavā koda! Pie reizes lūgums parādīt, ja ir trīs vai vairāki get mainīgie! Edited July 17, 2008 by test2
test2 Posted July 18, 2008 Author Report Posted July 18, 2008 Itkā, vel pieliku šitādu te klāt: RewriteRule ^(.*)$ index.php?do=$1 RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?do=$1&id=$2 [L] Bet viņš vispār nerukā! :(
andrisp Posted July 18, 2008 Report Posted July 18, 2008 Jo izpildās tikai pirmais nosacījums. Es tev vispār ieteiktu visu stringu padot skriptam, un pēc tam no PHP dalīt daļās. Man parasti ir šāds vienkārš htaccess: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?_path=$1 [QSA] Pēc tam iekš PHP ņemu $_GET['path'], splitoju, daros.
test2 Posted July 18, 2008 Author Report Posted July 18, 2008 Vot to splitošanu utt, es nesaprotu kā es caur php varu mainīt, es te biju atradis kkādu fcijas ar explode utt, bet es nesaprotu tu varētu man apskaidrot, kas tur īsti notiek... Tur jau ir tā lieta, ka man stāv šitāds: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?_path=$1 [QSA] Viss itkā rukā, bet kā jau teicu citreiz man ir vel kkāds mainīgais plusā index.php?_path=oh&page=12 Tad, kā tas rewraits vsp to page var apsrtādāt, ja viņam ir padots tikkai viens Path, lūdzu paskaidrojiet man!
andrisp Posted July 18, 2008 Report Posted July 18, 2008 Es īsti nesaprotu, ko tu nesaproti. Piemērs: example.com/pages/12/?action=edit PHP pusē $_GET['_path'] būs 'pages/12' (to ar explode sadali daļas). Un action būs pieejams kā parasti $_GET['action']. Arī citi GET parametri būs pieejami kā parasti.
test2 Posted July 18, 2008 Author Report Posted July 18, 2008 Es atvainojos par savu stulbumu, bet lūdzu parādi piemēru, manam kodam: if(isset($_GET['do'])) { switch ($_GET['do']) { case 'news': include('inc/news.php'); break; case 'comments': include('inc/com.php'); break; default: include('inc/news.php'); break; } } else { include('inc/news.php'); } Lūk ir mans index.php, jaunumu lapā links uz komentāriem izstīsies šādi: http://tuc.lv/comments/1 Tas ko tu iepriekš iedevi rukā labi viņš katru get revraito piemēram, man tagad nav index.php?do=news, bet gan /news , bet kā man tam comments to id rewraitot! Es nejēdzu to splitošanu!
andrisp Posted July 18, 2008 Report Posted July 18, 2008 Es nesaprotu, ko tu tajā pēdējā teikumā centies pateikt, bet: $do = ''; $parts = explode('/', $_GET['_path']); if (isset($parts[0])) { $do = $parts[0] } To $do liec iekš case. Tālāk jau iekš comments.php: if (isset($parts[1]) && is_numeric($parts[1])) { $id = (int) $parts[1]; }
test2 Posted August 14, 2008 Author Report Posted August 14, 2008 Atvainojos, ka pacēlu savu bikiņ pavecu topiku, bet man tagad viena problēma! Tas andrisp foršais variants rukā, bet man tagad ir atsevišķs fails lejupielaadeetaajs.php?fails=kaut-kāds id Un es gribu viņam caur htacces padot šādi download/[1-9], bet tākā man stāv šāds: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?_path=$1 [QSA] Es tur velvienu rewriterule nevaru ierakstīt , jo viņš nereaģē! Un es to lejupielaadeetaajs.php, nēesmu iekļāvis iekš šī te swiča, man nevajag, lai tas uzrādas lapas kontetā: if(isset($_GET['do'])) { switch ($_GET['do']) { case 'news': include('inc/news.php'); break; case 'comments': include('inc/com.php'); break; default: include('inc/news.php'); break; } } else { include('inc/news.php'); }
andrisp Posted August 14, 2008 Report Posted August 14, 2008 Ja es nemaldos, tad pieprasot lejupielaadeetaajs.php failu, tam vajadzētu atvērties, jo ir šis: RewriteCond %{REQUEST_FILENAME} !-f Kas nozīmē, ka ja ceļs (tātad fails) eksistē, tad neowervraitot to. A varbūt es kaut ko jaucu. :)
test2 Posted August 15, 2008 Author Report Posted August 15, 2008 Es laikam nemāku paskaidrot, bet lab 2x: kā es piemēram var padot jaunu rewraitu rule, ja stāv jau tas? meiģināju šādi , bet nereaģē: RewriteRule ^files/([a-zA-Z0-9_-]+)/$ lejupielaadeetaajs.php?fails=$1 Ā un tad re ku velviena problēma, piemēram es uzrakstu eksistējošu adresi http://manalapa.lv/style un augšējā adres barā parādas kkāds murgs - http://manalapa.lv/style/?do=style , bet tad kad rakstu http://manalapa.lv/style/ , tad viss ir ok, bet būtībā, man būtu jāaziet uz style folderi, bet abos gadijumos neatveras style, bet paliek main lapa! :( wtf?
Recommended Posts