anonīms Posted September 9, 2010 Report Share Posted September 9, 2010 (edited) Ja izmantoju šo main root folderī, tad viss ir okey, bet, ja tas tiek lietotajs zem kāda subfoldera, pieņemsim web2, tad sākas problēmas Tātad RewriteEngine on RewriteRule ^([a-zA-Z_]+)/([a-zA-Z_]+)?$ index.php?lang=$1&page=$2 [L] RewriteRule ^([a-zA-Z_]+)?$ index.php?lang=$1 [L] root/web2/htaccessroot/web2/index.php Viss iet caur index.php failu. Tikko kā iemetu šo htaaccess failu tā izmet 500 erroru. Hm, a varbūt nav enaiblots mod_rewrite/htaccess. pačekošu vēl šo variantu. P.S. localhosts EDIT: nebija enaiblots. Tagad ir. Būs bump, ja būs nepieciešama palīdzība. Edited September 9, 2010 by anonīms Quote Link to comment Share on other sites More sharing options...
anonīms Posted September 9, 2010 Author Report Share Posted September 9, 2010 BUMP. Tātad ir linki web1/lv web1/lv/about_us web1/lv/what_we_do/job1 Jautājums par style.css atrašanās vietu. Ja būtu main rootā, tad nebūtu problēmas ar /style.css, bet ko darīt šajā gadījumā? ../style.css arī nepalīdzēs, jo ir nenoteikts /a/b/c skaits. Quote Link to comment Share on other sites More sharing options...
rpr Posted September 9, 2010 Report Share Posted September 9, 2010 pieliec klaat RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f Quote Link to comment Share on other sites More sharing options...
anonīms Posted September 9, 2010 Author Report Share Posted September 9, 2010 (edited) Ir linki web1/lv/about_usweb1/lv/what_we_do/job1 Pie language change nepieciešams kaut kā šo lv aizvietot ar citu, teiksim en. - kā to panākt? Mana ideja ir tāda, ka vajag kkā atdalīt ar $_SERVER variabļiem visu. $_SERVER['HTTP_HOST'], tad kkā vajag dabūt šo web1 atseviški (ar php_self vai request_uri savāks visu) Jūsu varianti? EDIT: Varbūt kkā ar argv? Edited September 9, 2010 by anonīms Quote Link to comment Share on other sites More sharing options...
anonīms Posted September 9, 2010 Author Report Share Posted September 9, 2010 (edited) Esmu izdomājis kā preg_replace. //lv $str = preg_replace('//', '', $str, 2); kkas noteikti nav pareizi ar pirmo daļu repleicā. Kur kļūda? Mēģināju gan ar 1,gan 2,gan 3 /. ar 1 arning: preg_replace() [function.preg-replace]: No ending delimiter '/' index.php on line 15 Edited September 9, 2010 by anonīms Quote Link to comment Share on other sites More sharing options...
marcis Posted September 9, 2010 Report Share Posted September 9, 2010 Tam ir domāta trim() funckija. Bet es īsti nesapratu, ar ko tev tur ir problēmas :) Valodas mainīgais tev ir ($_GET['lang']) un pārējais arī ($_GET['page']). Quote Link to comment Share on other sites More sharing options...
anonīms Posted September 9, 2010 Author Report Share Posted September 9, 2010 nu ir tā, ka vajag paņemt esošo kodu (kur var būt gan vēl $page, $subpage un citi brīnumi) un tā linka valodas stringu aizvietot ar citu. Kā to visērtāk varētu panākt? Man bija doma sadalīt to visu. Tādēļ arī nepieciešams noņemt //. Atkal pievienot host_name, tad valodas stringu un tad jau tālāk esošo,bijušo urlu Quote Link to comment Share on other sites More sharing options...
anonīms Posted September 9, 2010 Author Report Share Posted September 9, 2010 Nu kaut kā tomēr panācu savu. vienīgi dīvaini kādēļ nestrādāja return $NL; function changeLang($host,$uri,$new_language) { global $folder; $str = preg_replace($folder, '', $uri); $str = trim($str,"/"); $lang = substr($str, 0, 2); $next_url = substr($str, 2, 100); $NL = 'http://'.$host.$folder.$new_language.$next_url; echo $NL; return; } Quote Link to comment Share on other sites More sharing options...
marcis Posted September 10, 2010 Report Share Posted September 10, 2010 OMG. Tad jau labāk izmantot šo pornogrāfiju: function changeLang($newLang){ $parts = explode('/', $_SERVER['REQUEST_URI']); // array('', 'web2', 'lv', ...); $parts[2] = $newLang; return 'http://'.$_SERVER['HTTP_HOST'].implode('/', $parts); } Quote Link to comment Share on other sites More sharing options...
Val Posted November 22, 2010 Report Share Posted November 22, 2010 (edited) Lai neveidotu jaunu topiku, uzjautāšu tepat. Radusies problēmiņa, kurai nevaru atrast vienkāršu risinājumu. Mēģinu uzrakstīt RewriteRule, lai vienai lapai strādātu arī iepriekš noindeksētie linki. Visu mazliet sarežģī, ka "lapa" atrodas iekš direktorijas. Ja tā nebūtu, tad pēc idejas vajadzētu nostrādāt šādam, aiz kura būtu visi pārējie esošās lapas RewriteRule. Nevaru izdomāt, kā request_uri "sadalīt gabalos". RewriteCond %{REQUEST_URI} (.*) RewriteCond %1 !yyy/zzz/* [NC] RewriteRule .? http://lapa.lv/yyy/zzz%1 [NC,L,R=301] Varbūt kāds var pasviest kādu ideju? Viens no variantiem būtu uzrakstīt vecās rules pa jaunam (izlabot, lai strādātu, un piemest klāt esošajam .htaccess faila saturam). Bet negribās ticēt, ka nav labāks/īsāks risinājums :> Iepriekš lapai linki bija lapa.lv/direktorija/jaunumi/id/123/zinjas-nosaukumslapa.lv/direktorija/arhivs/lpp/1 lapa.lv/direktorija/qwerty/rtyu/123/aa lapa.lv/direktorija/asdf/adsdfdg/ un vēl citi pēc līdzīga principa. Kopīgā daļa visiem ir lapa.lv/direktorija/ Tagad: lapa.lv/direktorija/yyy/zzz/jaunumi/id/123/zinas-nosaukumslapa.lv/direktorija/yyy/zzz/arhivs/lpp/1 lapa.lv/direktorija/yyy/zzz/qwerty/rtyu/123/aa lapa.lv/direktorija/yyy/zzz/asdf/adsdfdg/ Edited November 22, 2010 by Val Quote Link to comment Share on other sites More sharing options...
mad182 Posted November 22, 2010 Report Share Posted November 22, 2010 Vispār ja lapa ir pārvietota citur, pareizi būtu taisīt redirektu uz jauno adresi, ar visu 301 statusa kodu, vai arī taisīt lai strādā ar vecajiem linkiem, nevis mēģināt panākt, lai strādā abi varianti. 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.