Hallo liebe Forenmitglieder!
Ich bastel seit einiger Zeit gelegentlich immer mal wieder an Homepages und stehe jetzt wieder vor einem neuen Projekt. Von Projekt zu Projekt lernt man natürlich dazu und optimiert immer wieder, aber nun bin ich an einem Punkt, an dem ich ein wenig Unwissen und Hilfebedarf zugeben muss.
Folgendes: ich überlege, wie ich meinen Webspace für die neue Homepage am sinnvollsten strukturieren kann. Ich weiß nicht, wie man es so "in der Regel" macht; ich habe das bislang eher so frei Schnauze gemacht. Im Moment sieht es etwa so aus:
- index.php
- home
- index.php
- seite1
- index.php
- seite2
- index.php
- picture.jpg
- seite ...
- index.php
- content
- seite1.htm
- seite2.htm
- seite... .htm
- mobile
- mobile.php
- style.css
- ressourcen
- style.css
- ...
In der index.php des Root-Verzeichnisses ist zunächst nur eine Abfrage enthalten, ob es sich um ein mobiles Gerät handelt. Je nachdem wird per include () die Desktop- (/home/index.php) oder mobile Seite (/mobile/mobile.php) eingebunden. Die Mobile Seite gestalte ich mit jqueryMobile und beziehe wieder per include () die entsprechenden Content-Seiten ein. Bei der Desktopversion werden durch die Links der Navigation die entsprechenden Verzeichnisse angesteuert, sodass ich nicht direkt auf eine Datei verweisen muss (das gefällt mir in der Adressleiste einfach besser). Bei den index.php-Seiten der Unterverzeichnisse werden wieder die dazugehörigen content-Seiten per include () eingebunden.
Mit all dem schaffe ich mir aber nun ein schönes Problem, wenn ich mit relativen Links in den Content-Seiten auf Dateien (Bilder, etc. ...) verweise. Konkretes Beispiel: Ich rufe "seite2" auf, die index.php des Verzeichnisses wird geöffnet, in der
steht. Will ich ein Bild auf der Seite haben, dann stünde ja in seite2.htm
, da sich das Bild im gleichen Verzeichnis befindet, wie die ursprünglich geöffnete index.php .
Befinde ich mich allerdings auf der mobilen Seite, so ist der relative Pfad zum Bild nicht mehr gültig, da mobile.php (in die wiederum seite.htm über include () eingebunden ist) bereits über die index.php des Root-Verzeichnisses aufgerufen wurde. Der korrekte Pfad, der diesen Zweckes in seite2.htm stehen müsste, wäre nun
.
Ich entschuldige mich für meine laienhafte Erklärung – im Grunde genommen dreht es sich ja nur um Basics, aber ich suche nach einer Möglichkeit, entweder die Ordner so zu strukturieren, dass die relativen Links funktionieren würden. Oder gibt es eine andere Möglichkeit, den Pfad anzugeben (außer dem absoluten http://www. ...)?
Die Problematik ließe sich im Übrigens ja auch noch erweitern, wenn ich verschiedene Elemente der Homepage, bspw. die Navi, in separate Dateien auslagern wollte. Dann hätte ich noch den Ordner:
- layout
- navigation.htm
- sidebar.htm
- footer.htm
Binde ich in die index.php des Root-Verzeichnisses jetzt navigation.htm per php ein, so würden die darin enthaltenen Links einfach auf die Unterverzeichnisse der anderen Seiten verweisen:
Binde ich navigation.htm jetzt aber in eine Seite der Unterverzeichnisse ein, so muss der Pfad ja
lauten.
Ich wäre für Tipps und Hilfe sehr dankbar!
Beste Grüße