Autor Zpráva
tosscy
Profil *
Zdravím,
začínám s mod_rewrite a narazil jsem na problém, který nemůžu rozlousknout už dva dny. Oč jde:
Když mám v .htaccess
RewriteEngine on
RewriteRule ^([0-9]+)\.html index.php?rw=1&clanek=$1& [L,QSA]
a link je např: 30.html, tak mě to bez problémů přesměruje a předá proměnnou.

Problém nastává, když chci předat dvě proměnné např:
RewriteEngine on
RewriteRule ^([0-9]+)/(.*)\.html index.php?rw=1&clanek=$1&m=$2 [L,QSA]
a link je např: 30/2.html.
I toto mě přesměruje, ale vypadnou mi styly a obrázky a linky na stránce jsou úplně mimo.

Našel sem o tom něco zde na http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=12 583, ale moc jsem to nepochopil (není to zřejmě problém pouze localu). Jak je možné, že při předávání jedné proměnné vše funguje a při dvou už ne? To samé se mi děje jak na localu tak na webhostingu.

Jediné k čemu jsem zatím dospěl a funguje to, je nahradit lomítko pomlčkou, ale to se mi zdá vzhledem možnosti přidávání dalších proměných nepraktické a pak už to nebude cool url:

RewriteEngine on
RewriteRule ^([0-9]+)-(.*)\.html index.php?rw=1&clanek=$1&m=$2 [L,QSA]
a link je např: 30-2.html.

Děkuji za pomoc.
tosscy
djlj
Profil
vypadnou mi styly a obrázky a linky na stránce jsou úplně mimo
Je třeba odkazovat ve tvaru /style.css, nebo /index.php, ale to je asi jasné.

Pokud máš problém s tím, že se ti rewrite aplikuje i na existující soubory, tak následující 3 řádky by tomu měly zabránit:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
tosscy
Profil *
Děkuji za odpověď
problém asi bude s tím odkazováním:-)
Pokouším se nastavit RewriteBase.
cesta k webu na locale je:
http://localhost:8080/mas/www/www
ale když použiju:
RewriteBase /mas/www/www/
tak jako by to tam vůbec nebylo a hodí to pouze
http://localhost:8080/30/2.html
Děkuji za trpělivost.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0