Autor Zpráva
Marek Žáček
Profil
Můj dotaz směřuje k otázce, zda využít přesměrování 301 abych neztratil pozici ve vyhledávačích, když jsme přešli na mod_rewrite. Tedy puvodní adresa nějaké kategorie byla:
www.example.com/index.php?category=25

a nová adresa je např.
www.example.com/nazev-kategorie/

Vlastně doména zůstává stejná, na cizích webech se stejne odkazuje jen na www.example.com, jen fultext ma již zaregistrované odkazy pod starou URL adresou a když dojde na dané stránky, uvidí odkazy nové. Je tedy pro zachování vybudovanách pozic do htaccess zada stránky nové pomocí 301?

A pokud ano, musím tam zadat každou stránku ručně?
nightfish
Profil
na každé staré URL je vhodné mít nastaveno přesměrování 301 na novou URL...
Marek Žáček
Profil
A tedy by mě jěště zajímalo, zda každou přepsanou adresu hodit do htaccess, tedy

Redirect 301 /produkt-1 http://www.example.cz/nove-url-produkt1
Redirect 301 /produkt-2 http://www.example.cz/nove-url-produkt2

Jde mi o to, že pokud je v shopu 1000 produktů, bude tam 1000 řádků a tedy soubor htaccess by byl náležitě veliký, tedy neefektivní. Nebo to nevadí?
Retal
Profil
Ne do .htaccess, hoď to do index.php. Hned po připojení k DB zkontroluj REQUEST_URI a pokud je stará, vytáhni novou a přesměruj pomocí funkce header();
souki
Profil
Marek Žáček
myslím že by na to šlo určitě najít pravidlo, které bude univerzální a ne vypisovat všechny linky
Retal
Profil
souki
Pokud se stránky předtím identifikovaly pomocí číselného ID a nyní pomocí řetězce (tj. jiného sloupce v databázi), univerzální pravidlo neexistuje. Musí se buď kontrolovat URL přímo v indexu, jak jsem napsal, nebo by bylo možné vygenerovat Rewriting Map.
Marek Žáček
Profil
Ne do .htaccess, hoď to do index.php. Hned po připojení k DB zkontroluj REQUEST_URI a pokud je stará, vytáhni novou a přesměruj pomocí funkce header();
Dobře zkusím to nějak nastudovat. Neboť pokud jsem si to představil správně a řekněme, že soubor by měl 20kb, tak by to bylo na zbláznění, kdyby to mělo stále se načítat. Nebo to chápu blbě?
Retal
Profil
Velký .htaccess může zpomalovat celý server, nejen tvoje stránky. Navíc by v něm podle mě měla být jen univerzální mod_rewrite pravidla, nikoliv výčet všech změn. Změny jdou lehce obsáhnout pomocí několika řádků a dotazu do DB právě v index.php.
Martin
Profil
Myslím, že souki Tě navedl správným směrem, proč se Ti jeho řešení nelíbí?
Retal
Profil
Martin
Podívej se pořádně na první příspěvek. V takovém případě NELZE sestavit univerzální pravidlo.
souki
Profil
já si zvykl dělat všechno přes objekty... když potom máte řádek $clanek = new CClanek($_REQUEST['id']); .. potom stačí do konstruktoru dát rozlišení is_numeric($id) a pak článek vybárat podle id a else vybírat podle jeho linku
Marek Žáček
Profil
souki
Tady je problém, že ten shop byl koupen již jako hotová věc, nějaké věci se tam dodělávají, takže to je navržené tak jak to je :)
Vyřeším to pravděpodobně přes funkci
header()
v indexu.
Martin
Profil
Retal
Omlouvám se za zmatení, máš pravdu.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0