Ankündigung

Einklappen
Keine Ankündigung bisher.

php Webserver verhält sich seltsam bezüglich relativer Links

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php Webserver verhält sich seltsam bezüglich relativer Links

    Hallo,

    ich nutze den php Webserver (php -S localhost:8000) als Entwicklungsserver und möchte später auf nginx umsteigen. Jedoch tritt ein seltsame Verhalten auf, dass ich mir nicht erklären kann. Die Struktur meines Projektes sieht wie folgt aus:

    Im Serverwurzelverzeichnis befindet sich der Ordner app und einige Konfigurationsdateien. Im Ordner app befinden sich index.html und die Ordner styles und scripts. Im Ordner styles befinden sich die css und im Ordner scripts befinden sich die js.

    Code:
    root
    |
    |---/app
        |
        |---/index.html
        |---/scripts
        |   |
        |   |---/main.css
        |
        |---/styles
            |
            |---/main.js
    Die index.html sieht folgendermaßen aus:

    HTML-Code:
    <!DOCTYPE html>
    <html>
    <head>
      <link rel="stylesheet" href="styles/main.css" type="text/css" />
    </head>
    <body>
    
      <script src="scripts/main.js"></script>
    </body>
    </html>
    Wenn ich nun im Ordner root den php Webserver starte, können die styles und scripts nicht gefunden werden, weil die relativen Pfade in absolute Pfade umgefandel werden. Wenn ich die Datei index.html ohne Server öffne oder nginx nutze, dann funktioniert es. Ich habe es mit unterschiedlichen Browsern getestet und bekomme das gleiche seltsame Verhalten. Wie muss ich den php Webserver konfigurieren, damit die relativen Links so beibehalten werden?

  • #2
    Verwende immer absolute Pfade, dann gibts auch keine Probleme.

    Kommentar


    • #3
      Ich habe mir jetzt sagen lassen, dass es mit dem php Webserver nicht möglich ist, relative Links zu nutzen. In der Dokumentation steht auch etwas, dass man unter Umständen so verstehen könnten, wobei es für mich nicht eindeutig ist. Schade eigentlich, denn bisher (über 10 Jahre) hatte ich nie Probleme mit relativen Links.

      Kommentar


      • #4
        Wenn der Root-Pad benutzt wird fehlt nur der Pfad "/app" ansonsten gibts keine Probleme. Wenn Du immer zwischen local und online unterscheiden musst wäre es sinnvoll entweder einen Pfad "app" local zu verwenden oder die PHP-Datei so anzupassen, das dass Vorhandensein vom übergeordneten Pfad erkannt wird.

        Absolute Pfade zu verwenden ist übrigens völliger Unsinn. Damit wäre das Script nicht mehr portierbar und das Problem wäre verschlimmert.
        Die Pfade werden auch nicht von PHP direkt verwendet sondern vom Dokumentroot -> da wo die Erzeugung der ausgelieferten HTML-Datei stattfindet muss auch der relative Pfad zum Ordner CSS und JS zeigen. Du liest ja keine Dateien per PHP
        bitcoin.de <- Meine Freelancerwährung

        Kommentar


        • #5
          Zitat von Alpha Beitrag anzeigen
          WAbsolute Pfade zu verwenden ist übrigens völliger Unsinn. Damit wäre das Script nicht mehr portierbar und das Problem wäre verschlimmert.
          Das ist Quatsch. Absolute Pfade sind quasi Standard und bis jetzt gabs in keinem Script Probleme damit. Probleme gibts nur, wenn man Fehler macht.

          Kommentar


          • #6
            Schreib mal ein Beispiel was Du meinst. Nicht das ich etwas missverstehe... Redest Du von der kompletten Angabe der URL?
            bitcoin.de <- Meine Freelancerwährung

            Kommentar


            • #7
              Zitat von Alpha Beitrag anzeigen
              Schreib mal ein Beispiel was Du meinst. Nicht das ich etwas missverstehe... Redest Du von der kompletten Angabe der URL?
              Prinzipiell reicht der absolute Pfad. Wenn man mit mehreren Hosts arbeitet muss man natürlich die vollständige URL angeben.

              Kommentar


              • #8
                Zitat von Alpha Beitrag anzeigen
                Redest Du von der kompletten Angabe der URL?
                Wenn wir hier von absoluten Pfaden reden, sprechen wir nicht von einer URL!

                Kommentar

                Lädt...
                X