Autor Zpráva
MaximCZ
Profil *
Zdravím, chtěl bych aby se mi na webu ukládaly proměnné z adresy nějak takto, ale aby byly nepovinné. Takže abych měl v adrese třeba doména.cz/prvni//treti a do proměnné $_GET['treti'] se uložilo treti i když je druhá nevyplněná. Poradí mi někdo?
RewriteRule ^([a-zA-Z0-9_-]+)/?([a-zA-Z0-9_-]*)/?([a-zA-Z0-9_-]*)$ /index.php?prvni=$1&druha=$2&treti=$3

Moderátor Kajman: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Kajman
Profil
Za konec druhé závorky si dejte otazník.
MaximCZ
Profil *
RewriteRule ^([a-zA-Z0-9_-]+)/?([a-zA-Z0-9_-]*)?/?([a-zA-Z0-9_-]*)$ /index.php?prvni=$1&druha=$2&treti=$3

Takto jsem to přepsal, ale funguje to stále stejně, pokud mam druhou proměnnou prázdnou, do třetí se neuloží nic....
Kajman
Profil
A takto přes více pravidel to funguje?

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /index.php?prvni=$1&druha=$2&treti=$3
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /index.php?prvni=$1&treti=$2
RewriteRule ^([a-zA-Z0-9_-]+)$ /index.php?prvni=$1
MaximCZ
Profil *
Jo, to vypadá že funguje... a pomohl by si mi to ještě upravit aby to fungovalo jak s lomítkem na konci tak bez něj??


Tak už jsem si to snad opravil, tak díky moc.


Tak bohužel to nefunguje, chvilku se zdálo že ano, ale ne.
Mám to teď takto a když mam za doménou /prvni//treti tak se tretí hodnota uloží do druhé proměnné
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ /index.php?prvni=$1&druha=$2&treti=$3
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ /index.php?prvni=$1&druha=$2
RewriteRule ^([a-zA-Z0-9_-]+)/?$ /index.php?prvni=$1
MaximCZ
Profil *
Nikdo mi neporadí?
Kajman
Profil
Myslím, že by se neměla uložit nikam. Přímo ten zápis neodpovídá žádnému z regulárů v těchto pravidlech. Je možné, že potom zkusí odstranit to jedno zdvojené lomítko a pak to vyhoví druhému pravidlu. Případně to lomítko navíc ani na server nedojde. Zkuste si projít logy.

První pravidlo by muselo mít uprostřed hvězdičku místo pluska. Ale přijde mi divné... a nejsem si jistý, zda dvě lomítka nemají speciální význam a nemůžete je např. sám prohlížeč upravit.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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