Szép URL mod_rewrite-tal - ezt hogyan tudnám megoldani?
A következő a problémám.
oldal.com/index.php?product=ez-egy-termek
oldal.com/index.php?article=ez-meg-egy-cikk
oldal.com/index.php?user=o-pedig-egy-felhasznalo
Ezekből szeretném gyártani a következő hivatkozásokat:
oldal.com/ez-egy-termek
oldal.com/ez-meg-egy-cikk
oldal.com/o-pedig-egy-felhasznalo
Hogyan tudom meghatározni, hogy melyiket melyik URL-re irányítsa át?
Vagyis honnan fogja tudni, hogy az "ez-meg-egy-cikk"-hez az index.php?article= tartozik? Ezt milyen szabállyal adhatom meg?
Hasztalanul keresgélek már két napja. :(
kb így oldanám meg:
oldal.com/product/ez-egy-termek
oldal.com/article/ez-meg-egy-cikk
oldal.com/user/o-pedig-egy-felhasznalo
A sima oldalak mint bemutatkozás, kapcsolat...
oldal.com/bemutatkozas
oldal.com/kapcsolat
Azaz csak 1 elem van / jelekkel felbontva.
Míg az előbbieknél a első a mondja meg melyik modult hívja meg, a második pedig hogy pontosan melyikre van szükséged.
Szerintem is jobb /product , /article és /user tagolást használni, már csak SEO szempontból is, de ha mindenáron anélkül akarod, akkor úgy lehet, hogy csinálsz egy pivot táblát, kb így:
url|module|id
ez-egy-termek|product|22
ez-meg-egy-cikk|article|16
Tehát az URL alapján már ki tudod keresni, melyik modult és milyen ID-jő adatsort kell megjeleníteni. Nyilván így az URL-nek egyedinek kell lennie, tehát nem lehet egy cikknek és terméknek ugyanaz az URL-je.
Köszönöm a sok választ!
Muszáj megtartanom a struktúrát, több éves linkek, ezért nem szeretném közbeékelni a cikk/ felhasznalo/ stb. paramétereket.
"Tehát az URL alapján már ki tudod keresni, melyik modult és milyen ID-jő adatsort kell megjeleníteni."
Eddig jutottam én is, de hogyan kell ezt megcsinálni? :D
Minden url természetesen egyedi.
Másik megoldás lehet esetleg, hogy vannak a szabályok a közbeékelt paraméterekkel (pl. com/article/ez-egy-cikk), és utólag tüntetem el az url-ből az /article-t (meg a /product-ot, meg a /user-t, stb.).
Az is érdekelne, hogyan lehetséges. :)
1. Milyen keretrendszert használsz? (ha használsz egyáltalán)
2. Megvan-e már a rewrite, vagy épp azt akarod most megírni?
Ha már megvan a rewrite, akkor egyszerű:
SELECT module, id FROM pivot WHERE url = <ide beteszed az URL-t>
Utána már csak annyi, hogy a megfelelő modult meghívod az ID-vel és így azt jeleníti meg, amit kell.
Húha, natívan htaccess-ből meg sem oldható?
Kicsit durvának tűnik, hogy minden egyes oldallekérésnél végigqueryzzek többezernyi rekordot csak azért, hogy megtalálja a rendszer, hogy melyik modult kell betöltenie.
1. Saját keretrendszer
2. Nincs meg erre a rewrite, legalábbis olyan, ami úgy működik, ahogy szeretném a fenti példában.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!