Autor Zpráva
sapo
Profil *
Dobrý večer,
chci se zeptat zda někdo neví jak docílit pátelského url po odeslaní get metodou. Zkouším to takhle, ale vyhazuje mi to chybu. Zároveň by mě zajímalo zda neexistuje lepší řešení. Děkuju
stranka?select1=(.*)&select2=(.*)&select3=(.*)&select4=(.*)&select5=(.*)&x=(.*)&y=(.*)* /inzerce/$1/$3/$2/$5/$4/$5 [R=302, L]
sapo
Profil *
Našel jsem na internetu tohle řešení, ale nefunguje.

RewriteCond %{REQUEST_MET­HOD} GET
RewriteCond %{QUERY_STRING} ^select=([^&]+)$
RewriteRule ^(vyhledavani)$ $1/%1? [R=302,L,NE]
sapo
Profil *
Vážně nikdo nezná řešení? To poslední vypadá funkčně, ale nic nedělá. Prosím, někdo určitě znáte řešení.
Camo
Profil
sapo:
RewriteCond %{QUERY_STRING} ^(.*?)=([^&]+)(.*)
RewriteRule (.*)$ $1/%2?%3 [R=302,L,NE]

RewriteRule (.*$) index.php?url=%{REQUEST_URI} [L]
Joker
Profil
sapo:
Použijte univerzální pravidlo a zbytek dořešte v PHP.

Ale není úplně vhodné za každou cenu přepisovat úplně všechny parametry stránky. Minimálně některé parametry je lepší nechat jako GET, protože třeba i vyhledávače se je snaží analyzovat.
sapo
Profil *
Camo:
To dělá jen hlouposti.

Joker
Chtěl jsem přepsat jen odeslání get metodou do příjemné adresy. Bylo to jen pro jeden formulář, ale po těch problémech co by to mohlo dělat se na to raději vyprdnu. Navíc to žere načítání. Souhlasím, ale třeba u googlu je možnost mu skryte get odhalit v nastavení. Google je google a na seznam prdim. Ani nepamatuju kdy sem něco hledal na seznamu nebo jinde :-)

Ale rozhodnul jsem se to nekomplikovat a zbitečně nezatěžovat načítání stránky. Chtěl jsem to jen lidskému oku spříjemnit, ale kdo se divá na adresy při hledání? Moc děkuju za rady a příkladný kod. Camovi moc děkuju, ale dělá to neplechu a stisknutím delet byla neplecha ukončena :-)
Joker
Profil
sapo:
rozhodnul jsem se to nekomplikovat a zbitečně nezatěžovat načítání stránky. Chtěl jsem to jen lidskému oku spříjemnit, ale kdo se divá na adresy při hledání?
Souhlasím (teda až na zbitečně a spříjemnit).

Google je google a na seznam prdim. Ani nepamatuju kdy sem něco hledal na seznamu nebo jinde
Ostatní to ale vidí jinak, Seznam nemá (v ČR) o tolik menší podíl na vyhledávání než Google.
Camo
Profil
sapo:
No mne to funguje....
V čom je ten problém, čo ti to robí?
Camo
Profil
sapo:
Tak toto by už malo fungovať presne podľa tvojich predstáv:
ooo?x=1&y=2&z=3
presmeruje na
ppp/1/2/3

RewriteCond %{QUERY_STRING} !^url
RewriteCond %{QUERY_STRING} ^(.+?)=([^&]+)&(.*)
RewriteRule ooo$ ppp/%2?%3 [R=302,L,NE]

RewriteCond %{QUERY_STRING} !^url
RewriteCond %{QUERY_STRING} ^(.+?)=([^&]+)&?(.*)
RewriteRule (ppp.*)$ $1/%2?%3 [R=302,L,NE]

RewriteCond %{QUERY_STRING} !^url
RewriteRule (.*$) ppp.php?url=%{REQUEST_URI} [L]

EDIT:
Posledný riadok má byť:
RewriteRule (ppp.*)$ ppp.php?url=%{REQUEST_URI} [L]
aby to nebralo všetko ostatné...
sapo
Profil *
Tohle nefunguje. Neopravená verze narušuje i cesty k css souboru a to jí mám ve tvaru /slozka/css
Opravená verze nedělá nic. Možná je problém, že jsem na localhostu, ale tím to asi nebude.
Camo
Profil
sapo:
A ten neopravený regulár ti adresu prepíše, tak ako treba alebo nie. Mne to robí to čo som napísal.
Nemáš tam ešte nejaké iné príkazy alebo ten súbor nesmie mať koncovku .php atď...
sapo
Profil *
Já to testuju na localhostu, tak možná tam mám nějaký problém. Právě hodlám založit vlákno, kde chci zjistit jednu hloupost s Get. Jinak Vám moc děkuju

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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