ugrás a tartalomhoz

htaccess érdekes url-el

csabessz47 · 2011. Aug. 8. (H), 00.12
Sziasztok!

Mielőtt bárki írná sokat keresgéltem, azonban még mindig nem jutottam semmire sem.

Az alábbi feladatot kaptam:

egy oldal url-je:
domain.hu/index.php?q=oldal/hu

Ezt kéne nekem valahogy ilyenre módosítani:
domain.hu/oldal/hu

Addig már megy ezzel a sorral, hogy domain.hu/oldal (mivel ha a további részt lehagyjuk, egy default értéket kapnak (ezesetben hu)):
RewriteRule ^([a-zA-Z0-9/]+)$ /index.php?q=$1 [L]

Ha domain.hu/oldal/hu-t írok, akkor a tartalom megjelenik, viszont a CSS meg a képek nem jelennek meg (gondolom keres egy oldal vagy hu mappát, nem igazán tudom).

Ez egyfajta saját-keretrendszer-akármiisez-ben lett készítve: ha index.php?q=oldal az url, akkor az Applications/Controllers mappában keres olyat, hogy oldal.php
(szerintem kicsit CodeIgniter fíling, mivel a GET-ben is azért van /hu, mert /-jelenként osztja szét szegmensekre)

.htaccess terén nem vagyok gyakorlott, remélem tud valaki segíteni, vagy legalább rávilágítani az útra :)
 
1

Na, sikerült megoldanom

csabessz47 · 2011. Aug. 8. (H), 01.21
Na, sikerült megoldanom <base> tag-gel. Bár ez nem tudom, hogy mennyire elegáns megoldás, ha valakinek van jobb ötlete kérem írja.
2

Elegánsabb

pkadam · 2011. Aug. 8. (H), 07.47
A <base> taget általában érdemesebb kerülni, helyette inkább a hivatkozásokat kezdjük "/" jellel, ami így a gyökérkönyvtárra mutat. Tehát <link rel="stylesheet" type="text/css" href="/style.css" />, <img src="/images/picture.jpg" />, stb.
3

relatív link

csabessz47 · 2011. Aug. 8. (H), 11.06
Köszi a választ. Base taggel egyébként marad relatív link? Vagy így már teljes lesz?
4

base

Poetro · 2011. Aug. 8. (H), 11.36
Az a baj a BASE elemmel, hogy minden relatív link (ami nem /-rel illetve protokollal kezdődik), az a base-ben meghatározott URL-hez képest lesz relatív. Erről a dokumentum szerzőinek tudniuk kell, és ennek megfelelően adják meg a hivatkozásokat a tartalomban levő képekre, más oldalakra stb.