mod_rewrite

Hoj,
muj dotaz se tyka programovani, tak se snad hodi sem.
Ve svem RS bych chtel udelat inteligentnejsi odkazy. Misto linku www.auta.cz/ukaz.php?id=5691 bych chtel mit linky ve tvaru: www.auta.cz/osobaky/cabrio/peugeot/307cc/ (tento adresar k prislusnemu vozu vzdy existuje, jsou v nem obrazky vozu) Nenakopl by me nekdo spravnym smerem, jak to udelat? Myslel jsem, ze bych do kazdeho adresare dal soubor htaccess s mod_rewrite, ale nevim, jak spravne udelat pravidlo pro podstrceni spravne adresy ... .cz/ukaz.php?id= ....
V nouzi nejvyssi se da do kazdeho adresare umistit php skript, ktery me presmeruje, ale tim se mi zmeni i adresa v adresnim radku - a to prave nechci, potrebuji, aby tam zustala puvodni.
Priklad viz. www.slunecnice.cz
Diky :-)
Co třeba se zeptat přímo na tý slunečnici? Já se takhle ptal na GameZone a odpověď mi přišla do 20minut
http://sovavsiti.cz/2003/mod_rewrite.html ....
meca: Z uvedeneho clanku jsem vychazel, ale skript mi nefunguje. Pokud necham modifikatory [L,QSA], provede se klasicke presmerovani, adresa se zmeni. Pokud tam pouziji identifikator [P], ktery by mel zarucit jen podsunuti adresy, vyhodi to 404 :-/
Já tě nechápu ;) ... co teda vlastně chceš?! ...

A s tim [P] v tom článku nic neni :-) ...
Jó, to jsem taky řešil. Ale pak jsem usoudil, že na to nemám nervy ;)
<HTML>Cau,
z: www.auta.cz/ukaz.php?id=5691
na: www.auta.cz/osobaky/cabrio/peugeot/307cc/

je to dle mych znalosti nerealne.
tedy za predpokladu pouziti jednoho pravidla a jednoho .htaccess v rootu coz bych povazoval programatorsky za rozumne dynamicke reseni...

slo by to ale rozebrat a predat jako:
ukaz.php?kategorie=osobaky&provedeni=cabrio&znacka=peugeot&model=307cc

pokud by ti to stacilo takhle, reknu ti jak to udelat</HTML>
Podarilo se mi to zrealizovat, ale ma to drobny detail, nepodporuje to podsouvani adres, tzn. ze adresa zustane v adresnim radku porad stejna, napriklad ww.auta.cz/osobaky/cabrio/peugeot/307cc/, ale uzivateli se zobrazi obsah stranky www.auta.cz/ukaz.php?id=5691. Nyni me to obycejne presmeruje, tj. i se zmenou adresy. Odpoved na svou otazku jsem nasel tady: http://usenet.jyxo.cz/cz.comp.linux/0405/mod-rewrite-podstrceni-stranky.html - na serveru nemam aktivni mod_proxy, proto mi nefunguje podsouvani adres.

Jen pro zajimavost. Pri psani noveho clanku vznika na serveru i odpovidajici adresarova struktura na doprovodne obrazky k clanku. Do prislusneho adresare pak dynamicky vygeneruji .htaccess s jednoduchym pravidlem na presmerovani. Az na podsouvani adres to funguje ;o)

Richard: Uz mam prave variantu s jednim parametrem, tj id=id clanku, ktera mi vyhovuje. Predelavat to na Tvou variantu by bylo neumerne narocne k dosazenemu vysledku. Presto dik ;o)
<HTML>Ano, ja rikal: " jednoho pravidla a jednoho .htaccess v rootu"

pokud tam .htaccess generujes scriptem je situace jina...
[P] modifer je ti k nicemu, misto toho si zjisti absolutni cestu k tvemu document root a pouzij napr:
RewriteEngine On
RewriteRule ^ /weby/auto.cz/ukaz.php?id=5691

to /weby/auto.cz je smyslene a jedna se o tu cestu z rootu serveru k tvemu doc. root. Jakmile tam pouzijes http:// jedna se o presmerovani ne o podsunuti</HTML>
Richard: Sice to uz dela to, co potrebuji, ale ne tak uplne. Ted sice v adrese zustane spravna cesta (tj. http://www.auta.cz/osobaky/cabrio/peugeot/307cc/), nacte se obsah stranky /weby/auto.cz/ukaz.php?id=5691, ale vse ve strance se tvari, jako by stranka byla umistena v adresari .../307cc/. Tj. obrazky nefunguji, relativni odkazy se oteviraji do tohoto adresare. Timto se to dost zauzlovalo a ted vubec nevim, co s tim :-(
<HTML>moc jsem po tomhle nepatral, ale napadaji me reseni 2:
1) predelat relativni odkazy na absolutni
2) dat misto: href="script.php...." lomitko: href="/script.php..." - tim se bude odkaz povazovat jako soubor v rootu serveru (neboli jakoby jsi tam mel: HTTP_HOST/script.php... nebo konkretneji: www.auta.cz/script.php...) .. to same plati pro obrazky apd.</HTML>
Richard: Obe varianty pro me predstavuji dost tezko predstavitelne upravy v systemu (cca 1000 zprav a 100 clanku). Prozatim asi budu muset nechat hezke odkazy plavat.
Nyni jsem docilil toho, ze se mi vsechny adresy presmeruji presne jak potrebuji, ale hezka adresa /osobaky/cabrio/peugeot/307cc/ se mi zmeni na nicnerikajici ukaz.php?id=5691 :-/