Autor | Zpráva | ||
---|---|---|---|
caradoc Profil * |
#1 · Zasláno: 17. 4. 2010, 23:06:34
Dobrý večer,
prosím o radu hraji si s htaccess a nedaří se mi prolomit jeden problém, odkaz core.php?ukon=knizka&id=10 nechavam zobrazit takto : core-knizka-10 v htaccess mám tento kod : RewriteRule ^([^/\.]+)-([^/\.]+)/?$ core.php?ukon=$1&id=$2 [L] vše pracuje dokonale, až do doby kdy potřebuji přidat k odkazu další hodnoty, například core.php?ukon=knizka&id=10&stranka=1 pak už soubor htaccess podstrkuje neexistující stránky apod, pokud v htaccess přidám podmínku pro načtení třetí hodnoty, tak zas mám v již existujících odkazech <a href=... atd chybu, protože htaccess očekává celkem 3 proměnné, ale já nabízím jen 2, jak pořešit aby htaccess neřval na chybě když očekává proměnné 3 ale já chci podstrčit jen proměnné 2? děkuji za rady Caradoc |
||
Davex Profil |
#2 · Zasláno: 18. 4. 2010, 13:42:36
Musí se přidat další přepisovací pravidlo pro tři parametry:
RewriteRule ^([^/\.]+)-([^/\.]+)/?$ core.php?ukon=$1&id=$2 [L] RewriteRule ^([^/\.]+)-([^/\.]+)-([^/\.]+)/?$ core.php?ukon=$1&id=$2&stranka=$3 [L] |
||
caradoc Profil * |
#3 · Zasláno: 18. 4. 2010, 21:45:35
díky za odpověď, ale je potřeba pravidla psát opačně,
nejdříve uvést RewriteRule ^([^/\.]+)-([^/\.]+)-([^/\.]+)/?$ core.php?ukon=$1&id=$2&stranka=$3 [L] a poté uvést RewriteRule ^([^/\.]+)-([^/\.]+)/?$ core.php?ukon=$1&id=$2 [L] jinak apache vrací špatné hodnoty, |
||
Davex Profil |
#4 · Zasláno: 18. 4. 2010, 21:58:52
Omlouvám se, přehlédl jsem, ža tam není vyloučena pomlčka. Pak by na pořadí nezáleželo.
RewriteRule ^([^/\.-]+)-([^/\.-]+)/?$ core.php?ukon=$1&id=$2 [L] RewriteRule ^([^/\.-]+)-([^/\.-]+)-([^/\.-]+)/?$ core.php?ukon=$1&id=$2&stranka=$3 [L] |
||
caradoc Profil * |
#5 · Zasláno: 18. 4. 2010, 22:18:06
já to nakonec pořešil jednoduchým regulárním výrazem
RewriteRule ^(.*)-(.*)$ core.php?ukon=$1&edice=$2 [L,QSA] a funguje vše dokonale, sle zkusím ještě váš způsob, možná bude v něčem lepší, děkuji,.. |
||
Časová prodleva: 16 let
|
0