einsiedler: Ordner auf der Ebene des Basisverzeichnisses mit relativem Link ansprechen

Hallo liebe Forumer,

ich habe folgendes vor, ich möchte meinen Font Ordner auf der Ebene des Basisverzeichnisses (in meinem Plesk) legen , sodass dieser so von meinen drei webseiten (die auch im Basisverzeichnis als Ordner liegen) auf die verschiedenen Fonts darin zugreifen können.

Ist dies möglich???

Ich habe es nicht geschafft einen richtigen relativen Pfad anzulegen wo meine website dann auf den Font zugreift.

Ersteinmal muss ich eine Ebene zurück aus meinem CSS Ordner

(im HEAD wird jeweils die font-css.css per "link href=" aufgerufen!) ... ja und dann?

So funktioniert es nicht:

@font-face {
	font-family: 'MeinFont-Bold';
	src: url('.././webfonts/MeinFont/MeinFont-Bold.eot'),
		url('.././webfonts/MeinFont/MeinFont-Bold.eot?#iefix') format('embedded-opentype'),
		url('.././webfonts/MeinFont/MeinFont-Bold.woff') format('woff'),
		url('.././webfonts/MeinFont/MeinFont.woff2') format('woff2'),
		url('.././webfonts/MeinFont/MeinFont.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

Ich komme da mit den Punkten und Slash nicht zurecht! Wie macht man es richtig?

Grüße der einsiedenlde

  1. Hallo,

    ich habe folgendes vor, ich möchte meinen Font Ordner auf der Ebene des Basisverzeichnisses (in meinem Plesk) legen , sodass dieser so von meinen drei webseiten (die auch im Basisverzeichnis als Ordner liegen) auf die verschiedenen Fonts darin zugreifen können.

    ich versuche mal, das zu übersetzen. Du hast auf deinem Webspace drei Verzeichnisse, die jeweils das Document Root von frei verschiedenen Domains darstellen. Und ein Verzeichnis ./webfonts auf der gleichen Ebene. Also etwa so:

    \data\www\example.org
    \data\www\example.net
    \data\www\example.com
    \data\www\webfonts

    Ist dies möglich???

    Nein. Du musst das aus HTTP-Sicht, also von außen aus der Sicht eines Browsers betrachten. Weiter hoch als bis zum Root-Verzeichnis der Domain geht es nicht, eine Adressierung darüber hinaus ist nicht möglich.

    Du könntest aber stattdessen in allen Domain-Verzeichnissen einen Symlink anlegen, der auf das webfonts-Verzeichnis verweist. Dann würden die Fonts unter allen Domains erscheinen, und du müsstest sie trotzdem nur an einer Stelle pflegen.

    So funktioniert es nicht:

    @font-face {
    	font-family: 'MeinFont-Bold';
    	src: url('.././webfonts/MeinFont/MeinFont-Bold.eot'),
    		url('.././webfonts/MeinFont/MeinFont-Bold.eot?#iefix') format('embedded-opentype'),
    		url('.././webfonts/MeinFont/MeinFont-Bold.woff') format('woff'),
    		url('.././webfonts/MeinFont/MeinFont.woff2') format('woff2'),
    		url('.././webfonts/MeinFont/MeinFont.ttf') format('truetype');
    	font-weight: bold;
    	font-style: normal;
    }
    

    Nein, die Sequenz /./ ist wirkungslos. Ein einzelner Punkt bedeutet ja nur: das aktuelle Verzeichnis. Was du meintest, war vermutlich ../../ um zwei Verzeichnisebenen nach oben zu gehen. Aber das geht eben nicht, weil schon nach einer Ebene aus HTTP-Sicht die Spitze erreicht ist.

    Live long and pros healthy,
     Martin

    --
    Home is where my beer is.
    1. Hallo Martin,

      ja, genau so:

      \data\www\example.org
      \data\www\example.net
      \data\www\example.com
      \data\www\webfonts

      Du könntest aber stattdessen in allen Domain-Verzeichnissen einen Symlink anlegen, der auf das webfonts-Verzeichnis verweist.

      Also, soetwas (habe ich grad nachgelesen), kann man ohne Shell mit php lösen:

      <?php
      $target = "downloads.php";
      $link = "downloads";
      symlink($target, $link);
      echo readlink($link);
      ?>
      

      Aber wie sähe das in meinem Fall genau aus?

      Grüße Tassilo

      1. Hallo Tassilo,

        <?php
        $target = "downloads.php";
        $link = "downloads";
        symlink($target, $link);
        echo readlink($link);
        ?>
        

        Aber wie sähe das in meinem Fall genau aus?

        ich will mich da gerade nicht zu weit aus dem Fenster lehnen, weil ich deine Datei- und Verzeichnisstruktur nur "so ungefähr" verstanden habe. Wichtig ist aber, dass du den Unterschied zwischen Verweisen im Dateisystem und Verweisen in HTTP verinnerlichst. PHP arbeitet auf Dateisystem-Ebene, ist also nicht an die Beschränkungen von HTTP gebunden. Aber dafür musst du in PHP immer darauf achten, auf welches Verzeichnis sich eine Pfadangabe bezieht.

        Liebe Grüße nach Münster,
         Martin

        --
        Home is where my beer is.