Autor Zpráva
Carlos
Profil *
Ahoj,

můžete mi prosím poradit s následujícím problémkem, který je sice známý a evidentní, ale nikde jsem nenašel řešení.

Pokud odesílám registrační form, tak se mi nepřenášení hodnoty $_POST pokud pouřívám mod_rewrite.

Je na to prosím nějaké řešení?

mod_rewrite:
RewriteCond %{QUERY_STRING} ^strana=pneumatiky&typ=([^&]+)$
RewriteRule ^index.php$ %1/? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ ?rw=1&strana=pneumatiky&typ=$1 [L,QSA]


input:
<form id="form" name="form" action="index.php?strana=pneumatiky&amp;typ={$smarty.get.typ}" method="post">


dikes
Kajman_
Profil *
Přesměrovávat (flag R) jen pokud to je GET

RewriteCond %{REQUEST_MET­HOD} GET
RewriteCond %{QUERY_STRING} ^strana=pneumatiky&typ=([^&]+)$
RewriteRule ^index.php$ %1/? [R=301,L,NE] 


nebo lépe opravit adresu ve form, aby neobsahovala nechtěnou adresu
<form id="form" name="form" action="/{$smarty.get.typ}/" method="POST"> 
Carlos
Profil *
Kajman:

díkes za radu, zkouším ten 1. zápis s tím přesměrováváním pouze pokud je to GET.

V podstatě řeším filtraci obdobneho typu jako je zde:

nejobecnější výpis produktů - http://dobrepneu.cz/pneumatiky/ ... (jeví se jako statická url)

pokud vyberu nějakého výrobce, tak dostanu tvar:
http://dobrepneu.cz/pneumatiky/?id_kategorie=2&zobrazit=katalog&radit=&hcena=max&cena=&param[1]=&param[2]=&param[3]=&param[12]=0&vyrobce=23&hledani[6]=&do_24=X&do_3_10=X&na_dotaz=X

což vypadá více nez dynamicky...

je to tedy ze stejného duvodu, že prostě s mod_rewritem POST neodešlu?

V podstatě mi to po přidání podmínky RewriteCond %{REQUEST_MET­HOD} GET chodí stejně jako ne těch pneu.
Kajman_
Profil *
V tohle jsem se už úplně ztratil. Při přesměrování nepřeposílá prohlížeč POST data. Proto se vyhněte této kombinaci. Nevím, co chcete vědět víc. Každé zvášt fungovat bude.
Carlos
Profil *
Kajman:

omlouvám se, že jsem to nenapsal moc jasně, nicméně je mi to již zcela jasné a děkuji za rady

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: