URL localhost UND extern

  • Hallo,

    bin neu hier also weiß ich nicht obs hier rein passt.

    Ich hab ne WP-Installation auf meinem NAS, die ich der NO-IP DDNS ansprechen kann. Ebenfalls kann ich die Seite auch per direkter IP-Eingabe aufrufen, nur dann zerschießt es mir das Layout, da ich in meiner Conifg nur die externe URL eingegeben habe. Ich hab also in die Config eine Abfrage eingebaut, die überprüft, ob ich die IP des NAS direkt aufrufe, oder über die NO-IP-Domain komme. In beiden Fällen wird dann die URL richtig zusammengebaut und das LAyout ist ok, ohne dass man immer manuell die URL in der Config anpassen muss um etwas zu testen.


    Eingetragen werden die Werte in die wp-config.php, gleich in die nächste Zeile unter dem "<?php"-Tag.
    Falls es jemanden interessiert, hier meine Einstellungen:

    #internal access (localhost)
    $LOCALHOST = "192.168.0.105";

    # external access
    $PROTOCOL = "http";
    $EXTERNALHOST = "eigene_url_hier_einfügen";
    $SUBDOMAIN = "falls_vorhanden_hier_einfügen";

    if ($_SERVER['SERVER_NAME'] == "$LOCALHOST"){
    define('WP_HOME', $PROTOCOL . '://' . $LOCALHOST . '/' . $SUBDOMAIN);
    define('WP_SITEURL', $PROTOCOL . '://' . $LOCALHOST . '/' . $SUBDOMAIN);
    }
    else
    {
    define('WP_HOME', $PROTOCOL . '://' . $EXTERNALHOST . '/' . $SUBDOMAIN);
    define('WP_SITEURL', $PROTOCOL . '://' . $EXTERNALHOST . '/' . $SUBDOMAIN);
    }

    Danach funkt der Aufruf von intern als auch von extern und das Layout etc sollte auch keine Probleme mehr machen. Wie gesagt, ist nur dann sinnvoll, wenn man auch lokal testen will.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Dieser Teil lässt sich noch weiter vereinfachen:

    $PROTOCOL = "http";
    $SUB = "falls_vorhanden_hier_einfügen";

    define('WP_HOME', $PROTOCOL . "://" . $_SERVER['HTTP_HOST'] . "/" . $SUB);
    define('WP_SITEURL', $PROTOCOL . "://" . $_SERVER['HTTP_HOST'] . "/" . $SUB);

    Nun muss keine spezielle IP-Adresse für den "internal" und "external host" extra angegeben werden. Der HTTP_HOST wird automatisch beim Aufruf der Seite erkannt und die Variable befüllt, somit werden beide WP_Einstellungen mit der jeweilig benötigten Einstellung gesetzt. Bsp:

    Lokal:
    10.0.0.1/wordpress (falls mit subdomain) ->
    WP_HOME = http://10.0.0.1/wordpress

    Extern:
    http://my_wordpress_test.xx/wordpress (falls mit subdomain) ->
    WP_HOME = http://my_wordpress_test.xx/wordpress

    In beiden Fällen weiß dann WP, von wo die Daten geladen werden müssen und vor allem das Layout passt in beiden Fällen.
    Weiterer Vorteil: ändert sich die externe URL oder die interne IP-Adresse, muss dies nicht extra wieder in der wp-config.php geändert werden.

    Da ich PHP-Technisch nicht so versiert bin, werde ich diesen Teil sicher nochmal aktualisieren, damit das Protokoll und eine mögliche Subdomain auch noch automatisch ausgelesen werden, sodass gar keine nachträglichen Einstellungen mehr gemacht werden müssen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!