renathy Posted April 7, 2012 Report Share Posted April 7, 2012 Man ir problēma izveidot valodu pārslēgšanu. tātad ir saits, piemēram, www.manalapa.com un ir nepieciešami valodu linki, piemēram, lv un en. Uzspiežot uz lv vai en aizejam uz www.manalapa.com?l=lv vai attiecīgi uz www.manalapa.com?l=en, kur viss notiek. Respektīvi - mēs pieliekm adresei beigās ?l=lv vai ?l=en. Problēma ir tāda, ka lapā ir daudz rewrite rules, kas lapas pārtaisa citādā formā. Tos es nerakstīju, uzreiz nepārzinu kā tieši tie darbojas. Tad, ja esmu uz lapas, piemēram, www.manalapa.com/segments vai www.manalapa.com/segments1/segments2/id1 vai vienalga kādas citas, tad izveidotie linki formā ?l=lv un ?l=en nestrādā. Piemēram, esot lapā www.manalapa.com/segments es kabinu klāt www.manalapa.com/segments?l=lv, kas ir aplami. Kāds būtu korekts risinājums? Quote Link to comment Share on other sites More sharing options...
ArnisR Posted April 7, 2012 Report Share Posted April 7, 2012 (edited) Vislabāk būtu valodas identifikatoru (en vai lv) glabāt php sesijā! Edited April 7, 2012 by ArnisR Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 7, 2012 Report Share Posted April 7, 2012 Te nav runa par to, kur valodas ID tiek glabāts... Ticu, ka tas būt «kā slēdzis» — nevis pašā linkā ar tiks glabāts tas ID. Vari parādīt savu «.htaccess»? Quote Link to comment Share on other sites More sharing options...
ezis Posted April 7, 2012 Report Share Posted April 7, 2012 Problēma ir tāda, ka lapā ir daudz rewrite rules, kas lapas pārtaisa citādā formā. what? Kur tur ir problēma? Rewrite rules iekš .htaccess vai iekš "rūtera"? Quote Link to comment Share on other sites More sharing options...
briedis Posted April 7, 2012 Report Share Posted April 7, 2012 what? Kur tur ir problēma? Rewrite rules iekš .htaccess vai iekš "rūtera"? Es domāju, ka viņam ir problēma, ka lapā ir sarakstīts visur href="/links/links/", nevis tiek izmantots rūteris, lai konstruētu linkus, tāpēc arī varētu rasties mērens čakars... Izeja, kā jau tika minēts, ir glabāt valodu cepumā, nevis $_GET parametros. Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted April 7, 2012 Report Share Posted April 7, 2012 Vislabāk būtu valodas identifikatoru (en vai lv) glabāt php sesijā! Tas nav vislabāk, tas ir visvienkāršāk. Quote Link to comment Share on other sites More sharing options...
briedis Posted April 7, 2012 Report Share Posted April 7, 2012 Tas nav vislabāk, tas ir visvienkāršāk. Tas gan, piebildīšu, ka glabāt valodas identifikatoru saites daļā ir principā viena priekšrocība - valoda ir piesaistīta saitei, nevis konkrētā lietotāja sesijai. Tas nozīmē, ka google varēs normāli parādīt rezultātu meklēšanas rezultātos dažādās valodās. Quote Link to comment Share on other sites More sharing options...
renathy Posted April 8, 2012 Author Report Share Posted April 8, 2012 Nu, ja es glabāju tomēr to valodu cepumā vai sesijā, vienalga... PIeņemsim, ka tā glabāju, tā nav problēme. Tas ko, es nezinu, kā uztaisīt tieši pašu valodu switchu? Teiksim, esmu tagad angļu valodā (default). www.manalapa.com/sadala/1 Tagad gribu pārlikt valodu uz latviešu. Spiežu uz latviešu. Kas jādara? Rewrite Rules es īsti nevaru parādīt. Quote Link to comment Share on other sites More sharing options...
briedis Posted April 8, 2012 Report Share Posted April 8, 2012 uztaisi lapas augšā linku: <a href="?lang=lv">LV</a> <a href="?lang=ru">RU</a> Un tad problēmas no $_GET['lang'] izvilkt valodu? Quote Link to comment Share on other sites More sharing options...
renathy Posted April 8, 2012 Author Report Share Posted April 8, 2012 (edited) Ja es uztaisu <a href="?lang=ru">RU</a>, tad esot adresē www.manalapa.com/sadala/?lang=ru sanāk, kas nestrādā, jo tas nav "normāls" GET (vai arī es kļūdos???). Edited April 8, 2012 by renathy Quote Link to comment Share on other sites More sharing options...
ezis Posted April 8, 2012 Report Share Posted April 8, 2012 Aizdomas, ka Tu kļūdies, lai arī, īsti nevar saprast kur ir problēma!? Neredzu iemeslu, lai piemērā kas nedarbotos. Quote Link to comment Share on other sites More sharing options...
renathy Posted April 8, 2012 Author Report Share Posted April 8, 2012 (edited) Ir tā, ka es esmu http://manalapa.com/edit/ un man ir <a href="?lang=lv">LV</a>. Tā es aizeju uz http://rafic.co.uk/edit/?lang=lv, bet rezultātā $GET['lang'] neko neatrod. Kāds varētu būt iemesls, kāpēc neatrod to $_GET ['lang']? Pēc linka nospiešanas es aizeju uz index.php, kur lapas sākumā izdrukāju var_dump ($_GET), tad man izdod array(1) { ["p"]=> string(4) "edit" } Respektīvi, tur laikam kkāds Rewrite rule kko izbojā? Es atradu tādu rindu: RewriteRule ^([a-zA-Z0-9_-]+)/?$ /?p=$1 [NC,L] Vai šī var būt tā, kas kaut ko man izbojā? Edited April 8, 2012 by renathy Quote Link to comment Share on other sites More sharing options...
ezis Posted April 8, 2012 Report Share Posted April 8, 2012 yep, tā izskatās. Reāli varētu būt, ka rewrite rule pārraksta Tev _GET. Kāds ir Tev htaccess? Lapas swičojas no tā _GET[p] ? Izmanto kādu rūteri? Pašveidots mehānisms? Quote Link to comment Share on other sites More sharing options...
Val Posted April 8, 2012 Report Share Posted April 8, 2012 Lieku uz to, ka jāpieliek QSA flags aiz visiem RewriteRule Quote Link to comment Share on other sites More sharing options...
ezis Posted April 8, 2012 Report Share Posted April 8, 2012 Kā jau Val minēja, izmanto QSA flagu, lai kombinētu query string. Quote Link to comment Share on other sites More sharing options...
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.