Autor | Zpráva | ||
---|---|---|---|
Argos Profil |
#1 · Zasláno: 3. 6. 2008, 15:46:16 · Upravil/a: Argos
Ahoj,
nevím jak bych lépe krátce definoval můj problém - proto je název topicu trochu zavádějící. Chtěl jsem se zeptat, jak mám přenést proměnné GET pokud použiji mod rewrite a výsledná adresa po přepsání obsahuje nějaké proměnné - možná bude lepší příklad - můj kus .htaccess: RewriteRule ^([^/]+)\.html ?sekce=$1 [QSA,L] toto má za úkol přesměrovat například: http://example.cz/novinky.html na http://example.cz/?sekce=novinky pokud vše udělám takto, vše je OK, ale pokud chci přenést ještě jakoukoliv proměnnou nefunguje to viz: http://example.cz/novinky.html?menu=novinky se přenese jako http://example.cz/?sekce=novinky tím je proměnná menu ztracena - ikdyž jsem původně použil QSA parametr... - co se s tím dá dělat? původně jsem myslel že je špatně nastavený hosting, ale když se mi toto stalo podruhé jinde, dospěl jsem k závěru že něco dělám špatně já, pokud však adresu přepíši s parametrem R (výsledek je vidět v adresní řádce, vše funguje - to se mi ale nezdá jako adekvátní řešení) Asi to bude klasický problém začátečníků a jistě se to tu již muselo řešit, ale nenašel jsem :-( - o mod rewrite je toho tu napsáno hrozně moc a asi jsem neuměl správně definovat dotaz na hledání Děkuji za rady ;-) |
||
Kajman_ Profil * |
#2 · Zasláno: 3. 6. 2008, 15:58:50
A po přidání souboru, který to má zpracovat, to také nefunguje?
RewriteRule ^([^/]+)\.html index.php?sekce=$1 [QSA,L] |
||
Argos Profil |
#3 · Zasláno: 3. 6. 2008, 16:08:49 · Upravil/a: Argos
Děkuji za nápad, ale bohužel nefunguje (zkoušel jsem různé určení adresářů atd - nic) :'-(
takže aktuální verze .htaccess (celá): RewriteEngine on RewriteRule ^([^-]+)-([^\.]+)\.html ./index.php?sekce=$1/$2 [QSA,L] RewriteRule ^([^/]+)\.html ./index.php?sekce=$1 [QSA,L] a ještě dodatek - nefunguje to ani s R příznakem - protože takováhle verze mě hodí prostě někam do pryč - ale pokud zadám celou adresu, tzn například: RewriteRule ^([^/]+)\.html http://example.cz/index.php?sekce=$1 [QSA,L] adresa se přepíše a pošlou se i všechny proměnné asi stejný efekt jako [R,QSA,L] ;-) nějaké další návrhy? (ozkouším vše co bude mít alespoň trochu smysl - chci přijít na to kde dělám chybu) |
||
Kajman_ Profil * |
#4 · Zasláno: 3. 6. 2008, 16:42:48
Ještě bych zkusil zkouknout http hlavičky, zda se opravdu chodí na tu stránku jen jedním požadavkem.
A jak zkoušíte tu proměnnou menu... jako $_GET['menu'] nebo nějak jinak? |
||
Argos Profil |
#5 · Zasláno: 3. 6. 2008, 17:10:38
Tak problém vyřešen - za tohle se opravdu stydím :-[:
měl jsem přiřazení proměnné až za jejím porovnáním - tím pádem jsem neporovnával proměnnou přejatou z $_GET, ale proměnnou která se "přiřadí sama" (při safe-mode:off;) do proměnné téhož názvu - jakmile jsem však použil přepis adresy, proměnná přiřazená "automaticky" přestala fungovat :-D Kajman_ : dík moc za trknutí správným směrem - když jsem viděl že v hlavičce je proměnná přenesena, říkal jsme si že to není možné že tam prostě není a tak dlouho jsem jí stopoval až jsem jí našel :-[ |
||
Časová prodleva: 16 let
|
0