Autor Zpráva
Baff
Profil *
Zdravim.

Potřebuju poradit u mod_rewrite. Mám http://www.cestyasie.cz/index.php?clanek=uvod a pomocí:
RewriteBase /
RewriteCond %{QUERY_STRING} ^clanek=([^&]+)$
RewriteRule ^index\.php$ %1.html? [R=301,L,NE]
RewriteRule ^([^/]+)\.html index.php?rw=1&clanek=$1 [L,QSA] 
se mi to "přepíše" na http://www.cestyasie.cz/uvod.html.

Jak vytvořit mod_rewrite u http://www.cestyasie.cz/index.php?clanek=cesty&z=vietnam ? Tam tento skript nefunguje a s úpravami si nevím rady. Všechny nápady sem. :-) Děkuji
Baff
Profil *
Lepe řečeno - potřeboval bych místo
http://www.cestyasie.cz/index.php?clanek=cesty&z=vietnam
lepší vzhled a to
http://www.cestyasie.cz/cesty/vietnam
nebo
http://www.cestyasie.cz/cesty/vietnam.html
LosFilipos
Profil
Baff
RewriteRule ^([^/]+)/{1}([^/.]+)(\.html)? index.php?rw=1&clanek=$1&z=$2 [L,QSA]

Funguje jak pro http://www.cestyasie.cz/cesty/vietnam tak i http://www.cestyasie.cz/cesty/vietnam.html
Baff
Profil *
Dík za odpověď. Když mezi stávající řádky přidám ten nový
RewriteBase /
RewriteCond %{QUERY_STRING} ^clanek=([^&]+)$
RewriteRule ^index\.php$ %1.html? [R=301,L,NE]
RewriteRule ^([^/]+)\.html index.php?rw=1&clanek=$1 [L,QSA] 
RewriteRule ^([^/]+)/{1}([^/.]+)(\.html)? index.php?rw=1&clanek=$1&z=$2 [L,QSA]
tak to funguje, ale nevím proč, ale ztratí se styly (style/style.css).
Nevím, zda jsem to pochopil dobře, ale také jsem musel změnit odkazy z
index.php?clanek=uvod pouze na uvod
LosFilipos
Profil
Baff:
tak to funguje, ale nevím proč, ale ztratí se styly (style/style.css).
Stylesheet zapiš takto href="/style/style.css" -> s lomítkem na začátku se berou styly absolutně od kořenového adresáře

Nevím, zda jsem to pochopil dobře, ale také jsem musel změnit odkazy z
index.php?clanek=uvod pouze na uvod
No druhý a třetí řádek tvého htaccess by měl zajistit, že pokud adresa obsahuje "clanek= ..." tak se to automaticky přesměruje na clanek.html, takže to musíš upravit tak, aby to fungovalo jak na clanek tak na z, tzn něco ve smyslu:
RewriteCond %{QUERY_STRING} ^clanek=([^&]+)&z=([^&]+)$ [nc]
RewriteRule ^(index\.php)? %1/%2.html? [R=301,L,nc]
Ale si bude lepší mít rovnou odkazy ve správném tvaru (index.php?clanek=uvod => uvod ) - máš o přesměrování míň...
Baff
Profil *
Když zapíšu adresu stylů absolutně, tak to nepomůže. Pořád to dělá, že tam nejsou. Občas se nenačte i nějaký obrázek (hlavně v IE).


Funguje to, když jsem přepsal
RewriteRule ^([^/]+)/{1}([^/.]+)(\.html)? index.php?rw=1&clanek=$1&z=$2 [L,QSA]
na
RewriteRule ^([^/]+)/{1}([^/.]+)\.html index.php?rw=1&clanek=$1&z=$2 [L,QSA]

Jak to ale udělat, aby se mi zobrazovalo i http://www.cestyasie.cz/cesty/vietnam ? Funguje pouze http://www.cestyasie.cz/cesty/vietnam.html
Kajman
Profil
RewriteRule ^([^/]+)/{1}([^/.]+)(\.html)?$ index.php?rw=1&clanek=$1&z=$2 [L,QSA]
Baff
Profil *
Už to šlape! Díky vám oběma.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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