Narix Posted December 29, 2011 Report Posted December 29, 2011 Zinu, ka 100x apspriests. Problēma nav nekāda dižā, runa iet par htaccess, līdz šim esmu darbojies ar htaccess diezgan primitīvā līmenī pārrakstot statiskas lapas. Šoreiz ir tā, ka vajag pārrakstīt dinamiskus URL. Anyway url ir šādi: http://www.domain.com/?l=lv&s=home vai http://www.domain.com/?l=ru&s=prepare&c=2 Mainīgie ir visi trīs, kuri tiek iegūti, kā jau noprotat izmantojot $_GET. Ideju ko vēlo iegūt cerams arī sapratāt, smth like: http://www.domain.com/ru/prepare/2/ Varbūt kādam ir aizķēries kāds labs piemērs tieši šai situācijai? :) Paldies. Quote
zintis8789 Posted December 29, 2011 Report Posted December 29, 2011 (edited) Es piemēram izmantoju .htaccess šādu: Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] Un apstrāju: $page = explode("/",$_GET['q']); piem: http://www.domain.com/ru/prepare/2/ $page[0]=ru $page[1]=prepare $page[2]=2 Edited December 29, 2011 by zintis8789 Quote
Narix Posted December 29, 2011 Author Report Posted December 29, 2011 (edited) Paldies. Un jautājums kā pareizi php failā inklūdot css un js lai izmantojot htaccess tie tiktu atrasti??? Izmantojot $_SERVER['HTTP_HOST'] ? Jeb ir kāds racionālāks veids? Savādāk uztaisot simple nosacījumu lai tiek pārrakstīta valoda, piem, http://www.domain.com/lv/ - tiek pazaudētas visas bildes, css un js... Edited December 29, 2011 by Narix Quote
zintis8789 Posted December 29, 2011 Report Posted December 29, 2011 Es izmantoju: http://". $_SERVER['SERVER_NAME']."/js/blabla.js" Quote
Narix Posted December 29, 2011 Author Report Posted December 29, 2011 (edited) Es izmantoju: http://". $_SERVER['SERVER_NAME']."/js/blabla.js" Ja es saprotu pareizi tad tas it jākabina visur kodā ja izmanto mod_rewrite? Nu piemēram ja man bija kodā: <a href=''><img id='slide-img-1' src='./images/slide_1.jpg' class='slide' alt='' /></a> Tad tagad ir jāraksta $base="http://". $_SERVER['SERVER_NAME']."; <a href=''><img id='slide-img-1' src='<php $base; ?>/images/slide_1.jpg' class='slide' alt='' /></a> ???? Edited December 29, 2011 by Narix Quote
zintis8789 Posted December 29, 2011 Report Posted December 29, 2011 Jā, jo pēc būtības $_SERVER['SERVER_NAME'] izvada tavu linku. Quote
Narix Posted December 29, 2011 Author Report Posted December 29, 2011 Jā, jo pēc būtības $_SERVER['SERVER_NAME'] izvada tavu linku. Šausmīgais darbs tādā veidā. Ir varbūt citi risinājumi? Vēl jautājums - RewriteRule ^([^_]*)\/$ /index.php?l=$1 [QSA] Izmantojot šo netiek ielādēti css un js faili, bet a atkla izmantojot šo - RewriteRule ^([^_]*)\.html$ /index.php?l=$1 [QSA] css un js tiek ielādēti korekti. Kur atšķirība? Kapēc tā? Tam .html aliasam tik liela nozīme? Quote
Kemito Posted December 29, 2011 Report Posted December 29, 2011 Nejauc divas dažādas lietas. Options +FollowSymLinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] $get = explode("/", $_GET['page']); Lai korekti pievienotu CSS/JS utml. failus definē aboslūtu adresi, un vadies pēc šīs adreses jebkurām bildēm, css, js utt failiem. Quote
briedis Posted December 29, 2011 Report Posted December 29, 2011 Normāli ir, kā jau Kemito minēja, visur vadīt absolūto ceļu. <img src="/img/.." /css/style.css utt. Quote
marcis Posted December 30, 2011 Report Posted December 30, 2011 Vispār korektu ceļu tēma te arī tikusi apspriesta vairākkārt. Ja tev katrai aplikācijai ir savs domains, tad nekādu problēmu, visur priekšā met slashu. Problēma sākas tajā brīdī, kad aplikācijas ir sadalītas pa mapēm ( domain.tld/app1, domain.tld/app2, etc ). Lielākajā daļā freimworku šī lieta tiek risināta ar funkcijas palīdzību, kurai padod absolūtu ceļu no aplikācijas root'a un funkcija prependo pārējo. Piemēram: <? echo l0lz('folder/file.ext'); // /app1/folder/file.ext ?> Quote
Kracker Posted January 8, 2012 Report Posted January 8, 2012 Varbūt kāda no šīm rindām tev der?! RewriteEngine On RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?$1=$2 RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?$1=$2 RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?$1=$2&$3 RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?$1=$2&$3 RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?$1=$2&$3=$s4 RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?$1=$2&$3=$s4 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.