Autor Zpráva
fio
Profil *
Ahojte, jsem začátečník v PHP.
Zkouším používat smarty a mod_rewrite.
Potřebuju rozdělit web do více jazkových verzí.
Pořád se mi nedaří předat hodnotu proměnné ze souboru
index.htm (jsou to smarty - proto né přípona php, ale třeba htm)

<a href="ver-cz/page-1.htm">CZ</a>


přes kde mám

RewriteEngine on
RewriteRule ver-([a-z]+)\/page-([0-9]+)\.htm$ info.php?lang=$1&id=$2 [L,QSA]


do souboru info.php kde je toto

$lang = intval($_GET['lang']);
$path = "ver_".$lang;

$template = intval($_GET['id']);
switch ($template){

case 1:
$smarty->display( $path.'/ahoj.htm');
break;

default:
$smarty->display('index.htm');

}

Nevíte co je špatně?

Když jsem to měl takto, tak to fungovalo, ale bylo to bez vícejazyčných verzí

"index.htm"
<a href="page-1.htm">


".htaccess"
RewriteEngine on
RewriteRule page-([0-9]+)\.htm$ info.php?id=$1 [L,QSA]


"info.php"
$template = intval($_GET['id']);
switch ($template){

case 1:
$smarty->display('ahoj.htm');
break;

default:
$smarty->display('index.htm');

}

Prosím poraďte, jestli víte jak na to.
Díkeeez...
fio
Profil *
oprava věty:

přes .htaccess kde mám
mila
Profil
Nevím, kde máš chybu, ale nehledal bych ji v smarty, spíše novém htaccess.
Začal bych s tím, že bych okomentoval swich a nechal si vypsat to id. Pokud se nic nezmění, tak to není smarty. Pak bych přepsal htaccess na ten, co fungoval a začal pomalu postupovat...
fio
Profil *
Díky mílo,

už jsem na to přišel, chyba byla v htaccess.

Měl jsem tam toto

RewriteEngine on
RewriteRule page-([0-9]+)\.htm$ info.php?id=$1 [L,QSA]
RewriteRule ver-([a-z]+)\/page-([0-9]+)\.htm$ info.php?lang=$1&id=$2 [L,QSA]

A nechal jsem jen toto
RewriteEngine on
RewriteRule ver-([a-z]+)\/page-([0-9]+)\.htm$ info.php?lang=$1&id=$2 [L,QSA]

A už to funguje.
Asi to tak nemůže být, i když přesně nevím proč.
Kdybys te to někdo věděli, tak napište.
Díkez...
Kajman
Profil *
Aby fungovala i ta kratší adresa bez zvoleného jazyka, tak přehodit ty dva řádky, nebo tam napsat stříšku značící začátek...

RewriteEngine on
RewriteRule ^page-([0-9]+)\.htm$ info.php?id=$1 [L,QSA]
RewriteRule ^ver-([a-z]+)\/page-([0-9]+)\.htm$ info.php?lang=$1&id=$2 [L,QSA]
Toto téma je uzamčeno. Odpověď nelze zaslat.

0