2009-06-25 3 views
2

Sorry, wenn das eine dumme Frage ist ...Funktioniert die Verwendung von ./ in relativen Links mit Windows-Servern?

Ich habe eine Anwendung entwickelt, die absolute Links erstellt, indem URLs mit dem Site-Root (der gehosteten Site) vorangestellt werden.

Zum Beispiel:

<link rel="stylesheet" href="<?=SITE_ROOT?>/assets/css/global.css"> 

Beachten Sie, dass ein Schrägstrich nach Site-Stamm kommt. Ich muss dies jetzt zu relativen Links konvertieren, also habe ich versucht, einen Punkt als Wert von SITE_ROOT zu verwenden.

Dies schafft dies:

<link rel="stylesheet" href="./assets/css/global.css"> 

Soweit ich sagen kann, es funktioniert gut. Ist das eine legitime relative Verbindung? Oder gibt es einen Grund, warum ich es nicht so machen sollte?

Hinweis: Ich versuche nicht, ein Verzeichnis zu gehen, sonst würde ich ../ Ich versuche einfach, im selben Verzeichnis zu bleiben. Da hinter SITE_ROOT ein Schrägstrich steht, kann ich es nicht leer lassen oder es würde zu einem relativen Root-Link werden.

Aktualisierung: Funktioniert dies mit IIS?

+0

./ oder ../ ??? – rahul

+1

nicht ../ nur ein Punkt – Andrew

Antwort

4

Diese Links funktionieren auf dem Client, nicht auf dem Server, und soweit ich weiß, sollten sie sich genauso verhalten wie <a> Links. ./assets/css/global.css ist dasselbe wie assets/css/global.css, was die Ordner-Assets unter der aktuellen Untersite bedeutet. Der ./ Teil ist redundant. Wenn Sie, was eine Verbindung relativ zum Server, sollten Sie es mit einem Schrägstrich starten, dh: /assets/css/global.css wird stackoverflow.com/assets/css/global.css gehen, auch wenn Sie auf einer Untersite sind.

0

ist es legitim.

Überprüfen Sie, ob dies mit IIS-Server funktioniert. IMO sollte es. Es macht mit Apache.

jrh

+0

danke für die Erziehung Iis. Ich habe vergessen, dass ich das auch sicherstellen muss. – Andrew

+0

wow. Ich liebe Downvotes ohne Gründe. – jrharshath

+0

War ich nicht, aber könnte sein, weil eine Frage zu Links eine reine HTML-Frage ist, unabhängig vom Server. Wenn überhaupt, sollte es über den Browser hinweg überprüft werden, nicht über den Server. – Kobi

2

Ich denke, es ist in Ordnung.

+0

10/10 Antwort würde wieder upvote –

1

Ich denke, es ist Client-Seite, so sollte es mit ASP.Net arbeiten.

Verwandte Themen