Heinz: relative Pfade bei SSL-Verschlüsselung bei Strato

Hallo,

ich habe folgendes Problem:

Ich gebe in meinen PHP-Dateien bei Links die Pfade relativ an:
<a href="/ordner1/ordner2/datei.php">Link</a>
usw.

Das ist nötig, da die Datei, in der die Links stehen, in verschiedene PHP-Dateien eingebunden wird, die ihrerseits in verschiedenen Ordnern liegen.

Nun möchte ich bei dem Webspaceanbieter "Strato" die Seiten per SSL übergeben. Das ist dort möglich, indem man die URL:
http://www.meineeigeneseite.end/ordner1/ordner2/datei.php
so anpasst:
http://www.ssl-id.de/meineeigeneseite.end/ordner1/ordner2/datei.php

Nun führen die Links dann leider ins Leere, da sich die Pfadangaben auf http://www.ssl-id.de/ und nicht auf http://www.ssl-id.de/meineeigeneseite.end/ beziehen.

Nun könnte man die Links entsprechend anpassen:
<a href="/meineeigeneseite.end/ordner1/ordner2/datei.php">Link</a>
Dann führt aber umgekehrt ein Aufruf ohne SSL zu Problemen.

Kann mir jemand einen Tipp geben, wie dieses Problem evtl. zu lösen wäre?

Danke

Heinz

  1. Moin!

    Ich gebe in meinen PHP-Dateien bei Links die Pfade relativ an:
    <a href="/ordner1/ordner2/datei.php">Link</a>

    Das ist kein relativer Pfad, das ist ein absoluter Pfad.

    Nun könnte man die Links entsprechend anpassen:
    <a href="/meineeigeneseite.end/ordner1/ordner2/datei.php">Link</a>
    Dann führt aber umgekehrt ein Aufruf ohne SSL zu Problemen.

    Richtig. Du mußt die Links also entsprechend so abändern, dass sie beim Zugriff mit SSL anders aussehen, als beim Zugriff ohne SSL. PHP hast du ja.

    Alternativ wären auch relative Links denkbar - aber ich gebe gerne zu, dass relative Links die Arbeit auch nicht unbedingt leichter machen, absolute Links setzte ich auch sehr gerne ein.

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
    1. Guten Abend,

      Richtig. Du mußt die Links also entsprechend so abändern, dass sie beim Zugriff mit SSL anders aussehen, als beim Zugriff ohne SSL. PHP hast du ja.

      Gibt es also einen PHP-Befehl, der mir verrät, ob der Zugriff mit oder ohne SSL erfolgt ist? Ich habe im PHP-Manual keinen finden können.

      Heinz

      1. Moin!

        Richtig. Du mußt die Links also entsprechend so abändern, dass sie beim Zugriff mit SSL anders aussehen, als beim Zugriff ohne SSL. PHP hast du ja.

        Gibt es also einen PHP-Befehl, der mir verrät, ob der Zugriff mit oder ohne SSL erfolgt ist? Ich habe im PHP-Manual keinen finden können.

        Es hängt davon ab.

        Wenn überhaupt, wirst du im Array $_SERVER Hinweise darauf finden, wie der Zugriff erfolgt.

        In $_SERVER['HTTPS'] ist normalerweise ein Wert enthalten, wenn der Apache-Server selbst SSL mit dem Client spricht. Das ist aber bei dir nicht der Fall, da der SSL-Server woanders steht und nur als Proxy arbeitet - die Datenübermittlung zwischen deinem Webspace und diesem SSL-Proxy läuft wahrscheinlich unverschlüsselt. Also stellt dein Apache auch keine HTTPS-Verbindung fest.

        Die Alternative wäre, einfach abzufragen, welche IP (in $_SERVER['REMOTE_ADDR']) auf deinem Server die Seiten abruft - wenn das die IP des SSL-Proxys ist (einfach mal nachgucken, wie da die Unterschiede sind, wenn du mit und ohne SSL zugreifst), gibst du eben die HTTPS-Linkversion aus, ansonsten die normale. Es könnte allerdings sein, dass der SSL-Proxy nicht nur eine IP hat.

        - Sven Rautenberg

        --
        My sssignature, my preciousssss!