relatív hivatkozás alkönyvtárba telepített drupal esetében

dd0 képe

a drupalom alkönyvtárba (home) van telepítve.
az almappa használatához szükségesnek talált beállításokat elvégeztem:

  • a settings.php-ben módosítottam a
    $base_url = 'http://valami.hu/home';
    sort
  • a .htaccess-ben módosítottam a
    RewriteBase /home
    sort

itt megtudtam, hogy ha slash karaktert (/) rakok a cím elé, akkor a drupal a saját mappájában fog hivatkozni, akár almappába lett telepítve, akár a gyökérbe.

nálam ez nem működik, így is a gyökérre mutat:

az

<a href="/pathalias/using">
formában megadott hivatkozás hibásan(?) a http://valami.hu/pathalias/using -ra mutat a http://valami.hu/home/pathalias/using helyett (a /home kihagyva)

a linkeket a /node/3 és /pathalias/using formában is próbáltam, de azt hiszem mindegy is, itt más baj van.

mit tudtok ajánlani a problémára? én rontottam el / hagytam ki valamit?

egy esetleges költözés miatt nem szeretnék abszolút hivatkozásokat használni, valamint a l() függvény sem aktuális.

D6.5 HU, sok modullal (de nem hiszem, hogy a modulokkal lenne a baj)

a segítségeteket előre is köszönöm,
dan

Drupal verzió: 
aries képe

A /-rel kezdődő útvonalak nem relatívak.

Vagy a rendes útvonalat add meg, vagy az l() fgv-t használd:

<?php echo l('link neve', 'node/3'); ?>

Hasznosak lehetnek még ezek a fgv-ek is:

  • file_create_path()
  • file_create_url()
  • url()
  • base_path()
0
0
dd0 képe

köszönöm a válaszodat
azt hiszem a base_path() lesz az én barátom, ill. az l() függvényt is fogom használni.

közben keresgéltem a drupalorgon, találtam Relative Link Filter modult, de az még 4.6os verzióhoz készült. fórumokat, patcheket találtam, de nem sokra mentem vele. majd jelzek, ha találok valami érdemleges megoldást.

üdv,
dan

0
0
Tgr képe

A 4.6-os drupal még tett base taget a fejlécbe, a relative link filter pont arra készült, hogy az ebből adódó problémákat kiküszöbölje, és visszaállítsa a relatív linkek normális működését. 4.7 óta nincs base tag (túl sok probléma volt vele), úgyhogy annak a modulnak modern drupalon semmi értelme.

0
0
Pasqualle képe

dd0 képe

a base_path() fgv nem akaródzik működni, kihagyja az alkönyvtárat az elérési útból.
az l() függvény gyönyörűen működik, ezt fogom használni
köszönöm szépen a megoldásokat.

0
0
Tgr képe

A másik fórumban butaságot mondtak. A HTML forrásban lévő hiányos URL-eket a böngésző oldja fel RFC 3986 szerint, és egyáltalán nem hatja meg, hogy mit írsz a drupal konfig fájljaidba, ebből kifolyólag lehetetlen HTML-ben olyan linket csinálni, ami túlél pl. egy alkönyvtárból kiköltözést. Nagyon sok szívástól kíméled meg magad, ha eleve nem alkönyvtárba teszed a drupalt, hanem virtuális hosztnevet használsz az ott leírtak szerint.

0
0
Tgr képe

Pontosabban relatív linkeknek (ami nem /-rel kezdődik) tudsz alkönyvtárat megadni a HTML fejlécbe tett base taggel, de akkor meg az lesz a szívás, ha belefutsz egy olyan modulba, ami használ relatív linkeket az aktuális URL-hez viszonyított címzésre, úgyhogy mindenképp jobb elkerülni az alkönyvtár használatát.

0
0
dd0 képe

a helyzet az, hogy a domainen jelenleg élő oldal fut, és mellete fejlesztem/építem a drupalt (nem élő). (ezzel csak annyit magyarázok, hogy az almappa használatát egyelőre nem tudom elkerülni)

szerintetek megoldás az, ha CNAME-nek beállítom az alkönyvtár elérési útját (és mondjuk .htaccess-ben beállítom, hogy az almappába érkezőket a cname-mel megadott aldomain-re irányítom?

ekkor elvileg minden böngésző helyesen fogja kezelni a relatív útvonalakat...

valakinek van ezügyben tapasztalata?

0
0
eMeLA képe

Ha egymagad csinálod az oldalt, akkor telepíts egy webszervert a saját gépedre (pl. EasyPHP). Egyszerűbb gyorsabb, és nem kell kínlódni az elérési úttal.

Vagy készíts egy subdomain-t, arra a könyvtárra ahová a Drupal-t tetted.

0
0

...mit tudok: http://web.termuves.hu

dd0 képe

igen, én is erre gondoltam, amikor a cname-ről írtam, csak épp a neve nem jutott eszembe... :|
akkor ez lesz, köszönöm

(egymagam csinálom az oldalt, de fontos lenne az elérése a neten keresztül, mert több helyről dolgozom...)

0
0
aries képe

Keversz valamit. A CNAME domain szintű dolog (hivatkozás), az "alkönyvtár" pedig szolgáltatás szintű.

0
0
Tgr képe

vagy én nem értem, mit mondasz... csinálsz egy domain aliast mondjuk teszt.domainedneve.hu néven, csinálsz neki egy virtualhostot, és megfelelteted az alkönyvtárnak (ehhez persze az kell, hogy hozzáférj az apache konfig fájljaihoz, ne csak .httaccess-hez, úgyhogy nagyon igénytelen szolgáltatóknál nem működik). Bár talán virtualhost nélkül is meg lehet oldani, feltételes url rewrite-okkal.

Ennek egyébként az az előnye is megvan, hogy nem keverednek össze a böngésző által a különféle oldalakhoz tárolt jelszavaid.

0
0