url immer zum root einer domain

Heyho

gibts in html / css eigentlich ne möglichkeit, nen link immer auf das rootverzeichnis einer domain selbst zu beziehen?
das problem, ich schreibe nen cms was später mal für andere zugänglich sein soll. anhand dessen wird sich ja die domain immer mal wieder ändern. da das ganze aber so aufgezogen sein wird, dass man via
Code:
www.domain.tld/home/seite/subseite.html
auf die einzelen seiten zugreifen kann (und soll), kann ich keine angaben im stylesheet oder bei den links machen die einfach so aussehen

Code:
<a href="/home">

da ich ja dann auf http://domain.tld/seite/subseite/home rauskommen würde und nicht auf http://doamin.tld/home
selbiges gilt auch für css anweisungen, wo hintergrundbilder zu finden sind.
ich würde diese links ungern absolut angeben wollen!

also, wie löst man das problem?
 
Verwendest du auch PHP oder ist das ganze rein Html/Css? Sonst gibts nette Dinge wie
Code:
$_SERVER['REMOTE_HOST']
Edit: gerade gesehen, dass du ja das gegenteil von meinem Vorschlag suchst ;) Aber in der Richtung sollte dir auch Google weiterhelfen können.
Gruss
 
Ich bin grad ein wenig verwundert, ich dachte, deine vorgeschlagene Moeglichkeit funktioniert.

Da du das CMS warscheinlich mit PHP oder ASP machst, hast du darueber die Moeglichkeit, die Domain rauszufinden.
Du koenntest in der Installation ein Eingabefeld machen, welches die Domain speichert und immer mit ausgibt. In PHP kommst du per getenv() an die Daten des Apache Environment (guck in die phpinfo(), um rauszufinden was man von dort alles holen kann). Im HTTP_HOST und im SERVER_NAME steht die Domain. Ich weiss nicht, ob sie dort zwingend drinsteht, also ob die Daten verlaesslich sind.
Die HTTP_URI beinhaltet auch die Domain.
Im Apache2Handler steht die Domain ebenfalls drin, allerdings weiss ich momentan nicht, wie man die Informationen auslesen kann. Auch in den HTTP Headers steht sie drin.

Ich kann dir leider nicht sagen, welche dieser Informationen nicht konfigurierbar und somit sicher sind. Probiers aus, finds raus.

mfg
snoggo
 
man könnte die domain auch in ner config angeben lassen.

$domain='http://www.foo.bar'

und das dann immer includen.
 
Original von TheTeddy
Moin,

ich bin mir nicht sicher ob ich dich richtig verstanden habe, aber ich glaube du suchst das <base>-Tag klick.

mfg TheTeddy


100 punkte ! :)
das problem ist, dass ich das für leute schreibe die grade so bissl html können, und die würden durch sone geschichten wie <?php echo ROOT; ?> nur verwirrt werden :)
deswegen wollte ich das vermeiden!
 
Mit

$_SERVER['HTTP_HOST']; // Denk ich mal die TLD
$_SERVER['DOCUMENT_ROOT']; // BASEDIR

Oder lade das Script kurz in deinen Server und schau ob ich richtig liege

PHP:
echo '<pre>'; print_r($_SERVER); echo '</pre>';
 
ne, das basetag ist das was ich gesucht hab, jetzt müsst ich das equivalent noch für js und css finden, gibts da was?
 
Für Javascript hast du ja jetzt eine Möglichkeit und es gibt auch noch einige mehr da. Bei HTML kannst etwas ziemlich unsauberes aber trotzdem funktionierendes zurückgreifen: füge einfach mehrmals "../" vor der URL ein und du wirst bis zum HTML root zurückgehen. Mehr "../" schaden da nichts, da nicht weiter als bis zur Wurzel zurückgegangen werden kann. Eine andere Möglichkeit wäre das du mit rewriteurl (appache) alle URLs umschreibst die umgeschrieben werden müssen, du also z.B. für alle die umgeschrieben werden müssen eine besondere Zeichenfolge benutzt.
 
Original von easteregg
kann ich keine angaben im stylesheet oder bei den links machen die einfach so aussehen

Code:
<a href="/home">

da ich ja dann auf http://domain.tld/seite/subseite/home rauskommen würde und nicht auf http://doamin.tld/home
selbiges gilt auch für css anweisungen, wo hintergrundbilder zu finden sind.
ich würde diese links ungern absolut angeben wollen!

also, wie löst man das problem?


Also ich verstehe dein Problem nicht ganz....

Wenn du
Code:
<a href="/">test</a>
eingibst KOMMST du doch direkt im Root-Verzeichnis deiner Domain raus...
und dementsprechend wenn du
Code:
<a href="/home">test</a>
schreibst, KOMMST du auch auf http://www.domain.tdl/home/ raus....


Zusammenfassung, Pfadangaben

Pfadangaben absolut von Domain-Root aus
immer mit dem Slash beginnen
Code:
/home/foo/bar.php

Pfadangaben relativ von der aktuellen Seite aus
immer mit dem Punkt + Slash beginnen
Code:
./subdir/test.php

Pfadangaben relativ von der aktuellen Seite aus in übergeordnete Ordner
immer mit dem 2 Punkten + Slash beginnen
Code:
../subdir/test.php
- oder wenn's mehrere Ordner übergeordnet sein soll eben
Code:
../../subdir/test.php
etc.



und das gilt sowohl im HTML als auch bei JavaScript als auch bei CSS
 
hm bin ich blöd, genau das hatte ich gestern auch probiert, aber es wollte so nicht funktionieren. Jetzt funktionierts auf einmal...
hm, war wohl dann einfach zu später! danke :)
 
Zurück
Oben