Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 21. 4. 2010, 12:41:19
Zdravím Vás. Potřeboval bych poradit (rámcově) jak mám vyřešit (index.php) sestavování jednotlivých stránek + jejich URL. Stránky jsou v databázi, ke každé stránce ukládám: id, link ( třeba 'novinky', nebo to můžu uložit i jako permalink - tedy 'http://www.domena.cz/novinky/' ), anchor text, obsah. Chci nějaký jednoduchý systém, tak aby nebylo potřeba vytvářet pro každou stránku soubor třeba "novinky.php" nebo aby nebylo potřeba vytvářet příslušný adresář na webu. V administraci při přidávání stránek bych vyplňoval (případně by se to generovalo automaticky, třeba z titulku) link a anchor text. Prosím poraďte nebo mě někam naveďte na nějaké jednodušší řešení vytváření jednotlivých stránek.
|
||
panther Profil |
#2 · Zasláno: 21. 4. 2010, 13:27:09
Mufna:
je to jen obyčejný rewrite. Pokud máš index.php, jedná se ve skutečnosti o adresy index.php?pg=novinky. Hledej mod_rewrite z index.php?pg=novinky na /novinky/. Proměnnou „pg“ jsem si vymyslel, ve skutečnosti je jedno, jak se jmenuje. |
||
AM_ Profil |
#3 · Zasláno: 21. 4. 2010, 14:12:57
RewriteEngine On RewriteBase / # tenhle řádek je někdy potřeba a někdy zase vadí, vyzkoušej si RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.*$ index.php [L] Jinými slovy, odkaz na jakýkoli neexistující soubor či adresář se přesměruje na index.php. Data z URL si pak musíš zpracovat sám (získáš je z $_SERVER['REQUEST_URI'] ), nemáš přepych naparsovaných proměnných v $_GET, ale je to jednodušší, než vymýšlet šílená přepisovací pravidla v šíleném htaccessu, a řeší to tak většina moderních frameworků. |
||
Mufna Profil |
#4 · Zasláno: 21. 4. 2010, 15:31:14
panther , AM_
Díky oběma, dost jste mi pomohli. Ještě ale prosím o jedno, jak mám tedy (zase stačí poradit rámcově) sestavit soubor "index.php" |
||
panther Profil |
#5 · Zasláno: 21. 4. 2010, 15:39:40
Mufna:
index bude obsahovat klasicky hlavičku, menu, patičku, obsahová část bude tahat data z DB. Bude tam něco jako "SELECT [tvoje_sloupce] FROM tabulka WHERE link = '" . mysql_real_escape_string($_GET['pg']) . "' LIMIT 1"; |
||
AM_ Profil |
#6 · Zasláno: 21. 4. 2010, 15:40:01
pokud máš adresu ve tvaru example.com/nejake/parametry/, stačí
$params = explode('/', $_SERVER['REQUEST_URI']); trochu si s tím pohraj a uvidíš, jak to funguje. |
||
Mufna Profil |
#7 · Zasláno: 21. 4. 2010, 16:01:56
ok, díky chlapi
|
||
Mufna Profil |
#8 · Zasláno: 23. 4. 2010, 00:08:14
Ale ještě k tomu mám jednu otázku: co to způsobí z pohledu SEO. Najde všechny stránky vyhledávač ?
|
||
Chazzy Profil * |
#9 · Zasláno: 23. 4. 2010, 08:41:31
Vyhledávač stránky daleko lépe zaindexuje, protože už přímo v url vidí klíčová slova.
|
||
panther Profil |
#10 · Zasláno: 23. 4. 2010, 10:44:08
Chazzy:
„Vyhledávač stránky daleko lépe zaindexuje, protože už přímo v url vidí klíčová slova.“ ale ale, to jsou nám novinky. Vyhledávači je úplně jedno, jakou adresu vidí. Mufna: „Najde všechny stránky vyhledávač ?“ pokud mu umožníš přístup k nim (prolinkování, atd.), není důvod, aby je nenašel. To by bylo dobré, kdyby nebyla žádná přepisovaná stránka indexovaná :-) |
||
Chazzy Profil * |
#11 · Zasláno: 23. 4. 2010, 13:32:49
Vyhledávači je to jedno možná při návštěvě dané stránky, ale při objevení linku na stránce jiné již ne
|
||
panther Profil |
#12 · Zasláno: 23. 4. 2010, 14:07:51
Chazzy:
„ale při objevení linku na stránce jiné již ne“ což ale nesouvisí s tím, co jsi psal: „Vyhledávač stránky daleko lépe zaindexuje, protože už přímo v url vidí klíčová slova.“. Pokud nebudu používat rewrite, odkaz tedy budou i z ostatních stránek „ošklivé“, budou odkazy všude stejné a indexace bude probíhat normálně. |
||
Chazzy Profil * |
#13 · Zasláno: 23. 4. 2010, 15:54:04
Asi jsem se špatně vyjádřil, ale rozhodně jsem to nemyslel tak jak jsi to pochopil ;)
|
||
Časová prodleva: 14 let
|
0