Autor Zpráva
neoen
Profil *
Pročítal jsem mnoho stránek, doufám, že jsem většinu pochopil a zvládám i převody typu:
http://example.com/?parametr=neco na http://example.com/neco.

Ale teď jsem se setkal s jedním zastaralým webem, který je následujícího typu:
http://example.com/?category=category_id&post=post_id
A potřeboval bych to převést na:
http://example.com/category_name/post_name

Je to vůbec možné? Lze převést číselné id na název (vše uloženo v databázi)?
Tzn. že názvy nejsou součástí ošklivého URL.

Děkuji moc za případné "nakopnutí".
Berny
Profil
Já jsem něco podobného řešil nedávno.

Vyřešil jsem to dvojitým přesměrováním - jiný způsob mě ani nenapadl.
Mod rewrite podstrčil stránce "presmerovani.php" proměnné category_id a post_id , která z DB vybrala category_name a post_name a následně návštěvníka přesměrovala no novou URL - http://example.com/category_name/post_name

V mojem případě šlo o přesměrování starých, již nefunkčních, odkazů na nové, takže tohle řešení nebylo nijak na obtíž. U běžně využívaných odkazů bych asi doporučil změnu celého systému stránek.
neoen
Profil *
Já bych ale staré odkazy potřeboval zachovat :-(

Díval jsem se i na jiné redakční systémy a také nějak převádějí např.
http://example.com/?post=post_id
na http://example.com/?post=post_name
Bohužel ale moc nechápu, jak to dělají...
neoen
Profil *
V předchozím příspěvku je chyba u příkladu, správně je:

http://example.com/?post=post_id
na http://example.com/post_name
dracek
Profil
No ono je to naopak.
Vždy se převádí z post_name na post_id.

Je víc způsobů - post_name to číslo prostě obsahuje
domain.tld/article/1-example
nebo máme v databázi u každého článku i jeho "name".

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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