Autor | Zpráva | ||
---|---|---|---|
Marek Žáček Profil |
#1 · Zasláno: 2. 12. 2006, 01:30:21
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 |
#2 · Zasláno: 2. 12. 2006, 01:45:50
na každé staré URL je vhodné mít nastaveno přesměrování 301 na novou URL...
|
||
Marek Žáček Profil |
#3 · Zasláno: 2. 12. 2006, 09:22:44 · Upravil/a: Marek Žáček
A tedy by mě jěště zajímalo, zda každou přepsanou adresu hodit do htaccess, tedy
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 |
#4 · Zasláno: 2. 12. 2006, 10:15:12
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 |
#5 · Zasláno: 2. 12. 2006, 10:38:16
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 |
#6 · Zasláno: 2. 12. 2006, 13:00:42
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 |
#7 · Zasláno: 2. 12. 2006, 13:28:53
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 |
#8 · Zasláno: 2. 12. 2006, 14:07:42
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 |
#9 · Zasláno: 2. 12. 2006, 14:18:09
Myslím, že souki Tě navedl správným směrem, proč se Ti jeho řešení nelíbí?
|
||
Retal Profil |
#10 · Zasláno: 2. 12. 2006, 14:26:44
Martin
Podívej se pořádně na první příspěvek. V takovém případě NELZE sestavit univerzální pravidlo. |
||
souki Profil |
#11 · Zasláno: 2. 12. 2006, 14:29:07
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 |
#12 · Zasláno: 2. 12. 2006, 14:39:14
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 |
#13 · Zasláno: 2. 12. 2006, 15:30:47
Retal
Omlouvám se za zmatení, máš pravdu. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0