No0ne Posted April 23, 2009 Report Share Posted April 23, 2009 Nepieciešams linku formā: http://lapa.lv/skripts.php?mainigais=zzzzzzzzzzzz pārrakstīt uz http://lapa.lv:777/zzzzzzzzzzzzzz/mainigais . Jau 2 dienas mocos pa naktīm, tā arī nevaru īsti izprast. Ja pareizi sapratu, tad ? nedrīkst atrasties tajā linkā, bet kā to noeskeipot man nav ne jausmas. Piebilde: Es vēlos izdarīt tā, lai nesmukais links, pārvērstos par smuko linku, taču smuko linku neviens vairāk par serveri neredzēs <-- īsāk: pretēji tam, kam parasti izmanto .htaccess! Paldies! Quote Link to comment Share on other sites More sharing options...
bubu Posted April 24, 2009 Report Share Posted April 24, 2009 Uztaisi tukšu skripts.php failu, un tajā ieraksti: <?php header("Location: /" . $_GET["mainigais"] . "/mainigais"); ?> Quote Link to comment Share on other sites More sharing options...
No0ne Posted April 24, 2009 Author Report Share Posted April 24, 2009 bubu, paldies par atbildi, bet šajā gadījumā nederēs, jo man nevajag, lai pārmet uz jauno linku - man vajag, lai veco linku ielādē kā jauno! Quote Link to comment Share on other sites More sharing options...
Delfins Posted April 24, 2009 Report Share Posted April 24, 2009 ? vai noeskeipot ar \ Pieļauju ka šis būs pareizais RewriteRule ^/skripts.php\?(.*)=(.*) http://lapa.lv:777/$2/$1 [R,NE] Quote Link to comment Share on other sites More sharing options...
No0ne Posted April 24, 2009 Author Report Share Posted April 24, 2009 Apskatīju http://httpd.apache.org/docs/1.3/mod/mod_r...tml#RewriteRule , izmēģināju vēl kādus padsmit variantus, cenšoties noeeskeipot simbolus, tomēr nekā. Delfina dotais rewrite rule gluži tāpat kā varianti, kurus es jau izmēģināju, nedarbojas. Quote Link to comment Share on other sites More sharing options...
No0ne Posted April 26, 2009 Author Report Share Posted April 26, 2009 Nav vairāk ieteikumu nevienam? Quote Link to comment Share on other sites More sharing options...
Aikss Posted April 26, 2009 Report Share Posted April 26, 2009 Eksperimentē. Uztaisi vienkāršu, kas iet, un kabini pamazām klāt visu pārējo. Iepēti, ko sevī ietver (.*). Man liekās, ka Delfina variants nestrādā, jo tur ir (.*), kā rezultātā pirmais paņem visu, kas ir aiz '?'. RewriteRule ^skripts.php\?([a-z0-9-]+)$ index.php?first=$1 [QSA,L] RewriteRule ^skripts.php\?([a-z0-9-]+)=([a-z0-9-]+)$ http://lapa.lv:777/$2/$1 [QSA,L] Quote Link to comment Share on other sites More sharing options...
No0ne Posted April 26, 2009 Author Report Share Posted April 26, 2009 Visu, ko varēju iedomāties, jau izmēģināju. Patiesībā man nepieciešams tikai 1 mainīgais, manā piemērā tas bija dots kā zzzzzzzzzzzz. Izmēģināju arī aikss variantus, nekādu panākumu. Ja nu kādam ir kāds brīvāks brīdis, varbūt var uzlikt uz localhosta un notestēt kādu no tiem rewrite ruliem un iepostot šeit pārbaudītu! Quote Link to comment Share on other sites More sharing options...
Aikss Posted April 26, 2009 Report Share Posted April 26, 2009 (edited) Izmeklējos internetā un šo to uzgāju (fantomaster). Testējot urlis ir "http://localhost/scripts.php?first=firstvalue", rāda "The requested URL /firstvalue/first was not found on this server." RewriteCond %{QUERY_STRING} ^([a-zA-Z0-9-]+)=([a-zA-Z0-9-]+)$ RewriteRule ^scripts\.php$ http://localhost/%2/%1? [L] Edited April 26, 2009 by Aikss Quote Link to comment Share on other sites More sharing options...
No0ne Posted April 26, 2009 Author Report Share Posted April 26, 2009 RewriteCond %{QUERY_STRING} ^briinums=([a-zA-Z0-9-]+)$ RewriteRule ^skripts\.php$ http://www.lapa.lv:2710/%1/briinums/? [L] Viss strādā ļoti jauki: www.lapa.lv/skripts.php?briinums=lalalalalala tik tiešām pārveidojas par www.lapa.lv:2710/lalalalalala/briinums Tomēr sanāk, ka skripts.php ielādē lapu nevis kā jauno URL, bet vienkārši pārmet uz jauno URL. Tātad ieejot www.lapa.lv/skripts.php?briinums=lalalalalala , kad lapa ir ielādējusies browseris rāda adresi www.lapa.lv:2710/lalalalalala/briinums . Būtībā tas pats kas ar header() sanāk. Man visu padarīšanu sarežģī tas, ka piekļuve šim skriptam darbojas caur programmām, kuras neatbalsta šo redirektu. Ielādējot skripts.php?lalalalala programma cer pretī sagaidīt informāciju teiksim tekstu: viss okei, bet, ja pretī saņem redirektu uz citu skriptu, tad izmet erroru. Programmas pašas mainīt nevaru, zinu, ka ir iespējams to izdarīt, varbūt ne caur .htaccess, bet esmu redzējis mājas lapas, kuru koderi ir pārveidojuši visu vajadzīgajā formā, man, diemžēl, palīdzēt viņi nevēlējās. Quote Link to comment Share on other sites More sharing options...
Aikss Posted April 26, 2009 Report Share Posted April 26, 2009 Palasi: webmasterworld. Protokols taisa redirectu. Nav ne jausmas, kā tev būs ar portu. Kam tev vispār to smuko urli, ko neviens neredzēs? Iespējams, ka jāmeklē, kas nopietnāks šim. Quote Link to comment Share on other sites More sharing options...
No0ne Posted April 27, 2009 Author Report Share Posted April 27, 2009 Protokols taisa redirectu. Nav ne jausmas, kā tev būs ar portu. Kam tev vispār to smuko urli, ko neviens neredzēs? Iespējams, ka jāmeklē, kas nopietnāks šim. Smuko URLi prasa C++ skripts, kuru palaiž atsevišķi no web servera. Apdomājos un sapratu, ka nekas nesanāks, jo redirekts būs jebkurā gadījumā, jo man nepieciešams cits ports un to var ielādēt tikai redirektējot.. Paldies par palīdzību! Quote Link to comment Share on other sites More sharing options...
Delfins Posted April 27, 2009 Report Share Posted April 27, 2009 pamēģini ar R flagu.. Quote Link to comment Share on other sites More sharing options...
No0ne Posted April 27, 2009 Author Report Share Posted April 27, 2009 pamēģini ar R flagu.. 'redirect|R [=code]' (force redirect) Prefix Substitution with http://thishost[:thisport]/ (which makes the new URL a URI) to force a external redirection. Pamēģināju, kā jau teikts dokumentācijā tas taisa external redirektu, tātad dara to pašu, ko header(). Šaubos vai var vispār šo panākt, jo tas, kas man ir vajadzīgs ir kas līdzīgs CNAME, ejot vienā adresē gribu, lai ielādē citu, lietotājam to nemanot. Manā gadījumā tas vairs nav skripts, ko padod apache, bet cita, nesaistīta adrese (dēļ porta) un tas ir kas līdzīgs, ja es gribētu, lai, ieejot http://lapa.lv/draugiem.php, ielādētos draugiem.lv. 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.