Funktioniert mit Windows-Servern in relativen Links arbeiten mit ./?
-
22-07-2019 - |
Frage
Sorry, wenn dies eine dumme Frage ist ...
Ich habe eine Anwendung entwickelt, das durch das Voranstellen Urls mit dem Site-Stamm absolute Links erstellt (von welcher auch immer Website ihm gehostet wird).
Zum Beispiel:
<link rel="stylesheet" href="<?=SITE_ROOT?>/assets/css/global.css">
Beachten Sie, dass ein Schrägstrich nach Site-Stamm kommt. Ich muss das jetzt konvertieren relative Links zu sein, also habe ich versucht, einen Punkt als der Wert von SITE_ROOT verwenden.
Dies schafft dies:
<link rel="stylesheet" href="./assets/css/global.css">
Soweit ich sagen kann, es funktioniert gut. Ist dies ein legitimer relativer Link? Oder gibt es einen Grund, warum soll ich es auf diese Weise nicht tun?
Hinweis: Ich bin nicht ein Verzeichnis zu gehen versuchen, sonst würde ich verwenden ../ Ich versuche einfach im gleichen Verzeichnis zu bleiben. Da gibt es einen Schrägstrich nach SITE_ROOT ist, kann ich es nicht leer lassen oder es wäre eine Wurzel relative Verknüpfung werden.
Update: Wird diese Arbeit mit IIS
Lösung
arbeiten Diese Links auf dem Client, nicht auf dem Server, und soweit ich weiß, sollen die gleiche wie <a>
Links verhalten. ./assets/css/global.css
ist die gleiche wie assets/css/global.css
, also die Ordner Assets unter dem aktuellen Unter Ort. der ./
Teil ist redundant.
Wenn Sie, was mit dem Server eine Verbindung relativ Sie es mit einem Schrägstrich beginnen sollten, das heißt:. /assets/css/global.css
geht an stackoverflow.com/assets/css/global.css
, auch wenn Sie auf einer Unter Seite sind
Andere Tipps
Ich denke, es ist in Ordnung.
Ich denke, es ist Client-Seite, so sollte es mit ASP.Net arbeiten.
sein legitim.
Just überprüfen, ob dies mit IIS-Server funktioniert. IMO sollte es. Es tut mit Apache.
JRH