2017-03-16 1 views
0

Ich möchte die vollständige URL für den Speicherort meiner CSS, JS und Bilddateien in meiner Datei header.php verwenden. Wenn also die Datei header.php aus einem anderen Ordnerverzeichnis aufgerufen wird, wird die Verknüpfung nicht unterbrochen.Wie URL richtig für Links und andere Assets gesetzt werden

Ich möchte jedoch die Website durch http und https, die vom Benutzer in ihren Profileinstellungen in der Webanwendung festgelegt werden.

Ich fing an, etwas Code unten der Lösung zu schreiben, aber ich bin nicht sicher, ob dies der richtige Weg ist, dies zu handhaben.

config.php

<?php 
// use https 
$use_https = true; 
?> 

header.php

<?php 
if ($use_https == true) { 
    $proto = "https://"; 
} else { 
    $proto = "http://"; 
} 
?> 

    <a href="<?php print($proto . $_SERVER["SERVER_NAME"]); ?>/some-folder/">Link</a> 
+0

nur protokoll weniger Links verwenden. '// someurl/path' Der Browser basiert darauf, wie die Root-Site geladen wurde – Machavity

+0

Funktionieren protokollfreie Links für alle modernen Browser? Wie IE9 und neuer zum Beispiel? – MarkH

Antwort

0

Der einfachste Weg ist, einfach tun:

<a href="//<?php echo $_SERVER["SERVER_NAME"]); ?>/some-folder/">Link</a> 

Oder da es auf Ihrem eigenen Server , nur:

Stellen Sie sicher, dass Sie den ersten Schrägstrich angeben, so dass er relativ zum Stamm Ihrer Site und nicht zur aktuellen Seite ist (dies verhindert, dass die Verbindung unterbrochen wird).

aber sagen, dass, wenn Ihre Website mit https funktioniert, sind Sie wahrscheinlich besser dran, nur immer https verwenden, da Sie don't really have performance concerns anymore.

+0

Funktioniert der erste Schrägstrich in Ihrem zweiten Beispiel mit der Funktion require() in PHP? Ich scheine einen Fehler von 500 zu bekommen. – MarkH

Verwandte Themen