Ako najlepšie presmerovať veľký počet starých liniek?
- gawan
- Člen | 110
Zdravím,
aký je odporúčaný postup (best practise) ak chcem presmerovať veľa
starých liniek na nové? Je ich niekoľko desiatok (vyše 100) a nemajú
žiaden špeciálny formát a pre každú treba urobiť vlastné pravidlo.
Čítal som, že veľa route spomaľuje aplikáciu.
napr:
stará linka -> nová linka
/aaaaa -> /k-4/....
/bbbbb -> /k-12/....
/ccccc -> /k-45/....
...atď.
nové linky mi už správne routujú, ešte tam potrebujem pridať, aby sa tie staré presmerovávali na nové (aby sa zmenila aj linka).
je lepšie to robiť cez apache mod_rewrite alebo redirect? Alebo pre každú linku definovať new Route v boostrape? Nebude to spomaľovať? Alebo a dá definovať nejaká „prekladová tabuľka“ pre route?
Editoval gawan (7. 4. 2010 13:09)
- SyXcz
- Člen | 75
mno jen takový nápad, jak bych to udělal já…
hledal jsem na fóru jestli je v nějaké proměnné url požadavku který se původně žádalo (tvůj původní soubor), ale nenašel… ale určitě je možnost někde url požadavek zjistit třeba pomoci http request
pak by sis jen udělal v ErrorPresenteru redirecty na požadovaný Presentery
- Ondřej Mirtes
- Člen | 1536
Mno, asi bych napsal vlastní jednoduchý router, kam bych tuto rozhodovací logiku ze starého webu přepsal.
- Tharos
- Člen | 1030
No a není řešit tohle přes framework zbytečný overhead? Co třeba prostě použít mod_alias a pár pravidel pro něj v .htaccessu :)?
Redirect 301 /stara-stranka.html http://example.org/nova-stranka
Redirect 301 /stara-stranka2.html http://example.org/nova-stranka2
...
Takhle to alespoň řeším já. Přijde mi zbytečné zatěžovat framework tím, že se zachovávají nějaké zpětně kompatibilní linky, když to lze vyřešit elegantně a přímo na to určenými moduly na úrovni serveru.
Editoval Tharos (7. 4. 2010 20:52)
- Ola
- Člen | 385
Dokud nemáte 1000 článků na blogu a nepotřebujete je přesměrovat např z example.com/clanek/blablabla na example.com/blablabla. Pokud máš starý linky v DB tak toho využij a neduplikuj to v htaccess. Nejlepší řešení asi je, jak Ondra psal, vlastní router.
PS: jak při přidávání nový stránky ověříš, že uživatel nevytváří stránku se stejným url které je přesměrováno?
Editoval Ola (8. 4. 2010 6:56)
- gawan
- Člen | 110
Ola napsal(a):
Dokud nemáte 1000 článků na blogu a nepotřebujete je přesměrovat např z example.com/clanek/blablabla na example.com/blablabla. Pokud máš starý linky v DB tak toho využij a neduplikuj to v htaccess.
žiaľ nemám tie linky v DB a boli robené rôznym prasením starého kódu (podľa potrieb SEO odborníkov ;-), a ten kód už teraz ani neexistuje, takže teraz len zbieram staré odkazy z iných webov cez google a webmasters tools… a postupne ich tam pridávam
Nejlepší řešení asi je, jak Ondra psal, vlastní router.
mohlo by to byť, ale asi je to pre mňa zbytočné zložité ak mám okolo 100 liniek. A okrem toho som raz aj skúšal robiť vlastný router, ale nejako som to nepochopil, zdalo sa mi to zložité…
PS: jak při přidávání nový stránky ověříš, že uživatel nevytváří stránku se stejným url které je přesměrováno?
pretože nové linky majú formát: „d-$id/blabla-bla…“ a predtým sa idčka v linke nepoužívali