Seite lädt beim ersten mal nicht..

  • Hallo zusammen,


    beim ersten Aufruf meiner Webseite lädt sich der Browser "tod" und bleibt weiß. Beim erneuten Aufruf wird dann alles perfekt angezeigt. Ich habe das Problem schon häufig gegoogelt und Begriffe wie Allow-Across-Origin gelesen, jedoch waren alle Versuche in die Richtung fehlgeschlagen..


    Da dies eine Kundenwebseite ist, kann ich vorerst keinen Link zur Verfügung stellen und hoffe einfach mal darauf, dass jemand das Problem kennt und es aus dem "Kopf" weis, was zu tun ist..


    Kurz zum Aufbau der Webseite:


    Die Webseite ist mit einem Template und ohne CMS gebaut worden.


    Es gibt einen globalen Ordner, dort liegen alle Dateien (Header, Footer, Startseite, diverse Unterseiten). Zudem gibt es ca. 300 Ordner (alles Subdomains), die jeweils eine Ordnerstruktur verbaut haben und sich die Seiten aus global ziehen. Beispiel:


    PHP: Ordner1/DE/Startseite/Index.php
    1. <?php
    2. include "../../../global/de/header.php";
    3. include "../../../global/de/startseite.php";
    4. include "../../../global/de/footer.php";
    5. ?>

    So werden alle Seiten gezogen, mit Ausnahme von der Kontaktseite. Die ist bei jeder Subdomain individuell.


    Jeder Ordner hat auch eine eigene htaccess die wie folgt aussieht:


    Code
    1. RewriteEngine On
    2. RewriteCond %{HTTP_HOST} ^www\.subdomain1.domain\.global [NC,OR]
    3. RewriteCond %{HTTPS} !=on
    4. RewriteRule ^ https://subdomain1.domain.global%{REQUEST_URI} [L,R=301]

    Ein Add Allow-Across-Origin * in der htaccess hat nicht zum Erfolg geführt.


    Ich weis auch nicht, ob das der Fehler ist. Es kann natürlich möglich sein, dass es auch ein komplett anderer Fehler ist..


    Die globale header und footer Datei hat noch folgende Spezifikationen:


    Da durch die includes der Subdomains auch die Pfade für hrefs anders sind, konnte ich die Skripte und Css Dateien nur einbinden, indem ich eine neue Subdomain erstelle und die auf den globalen Ordner verlinke.


    Sprich, statt die Stylesheet so einzubinden: <link href="css/style.css" rel="stylesheet">

    Hab ich sie so eingebunden: <link href="https://daten.domain.global/css/style.css" rel="stylesheet">


    Ich hoffe die Infos reichen aus, um eine erste Analyse zu starten.


    Vielen Dank im Voraus!


    Liebe Grüße

    Domenic

  • Hallo, danke für deine Antwort :-)


    Ich komme leider nicht an das access_log da ich keinen Zugriff auf den Apache habe. -> Falls du das meinst.


    Ich habe in die startseite.php folgendes reingeschrieben:


    ini_set('display_errors', '1');
    error_reporting(E_ALL);


    Leider wird beim ersten Aufruf die Seite ewig geladen und es bleibt einfach weiß.. Also der Error wird nicht ausgegeben

  • Hast du mal in der Browser Console geschaut ?

    Ob da eine bestimmte Datei ewig brauch ,bzw bei welcher Datei es nicht weiter geht?

    Vieleicht auch Errors die Fehler erzeugen ( wäre aber unwahrscheinlich weil sie beim 2 mal laden auch stören würden ).

    Andere Hinweiße aus der Console ?

  • Leider gar nichts.. Das Problem ist, wenn die Seite einmal geöffnet war, funktioniert es. Ich muss anschließend den Cache löschen und ca 1-2 Stunden warten, ehe ich wieder eine Fehlersuche starten kann..


    Ich hatte damals in die Console geschaut, da standen die normalen Dinge. z.B. das Google die Session noch nicht speichern kann o.ä.

  • Ich würde mal beim Serveradministrator nachfragen. Dass du keinen Zugriff auf Log-Files hast ist natürlich ungünstig. Mit den Infos und ohne Livezugriff wird es schwierig hier helfend tätig zu werden.


    Fragen/Hinweise:

    - Funktioniert es auf einem anderen Server (z.b. in einer lokalen Entwicklungsumgebung)?

    - In den Dev-Tools hast du einen Reiter Network (oder Netzwerk). Dort siehst du an sich was passiert. Oder halt eben nicht passiert. Versuch Dich mal einzulesen.

    - Zugriff auf die Log-Files ist elementar, eigentlich solltest du auf allen Servern Zugriff darauf haben, versuch herauszufinden wo die liegen.


    Wäre der Fehler im Script und würde der Request beim ersten Aufruf bereits bei Deiner index.php landen gäbe es a) einen Fehler oder b) einen Abbruch nach der max_execution_time (zumeist 30s), daher denke ich er bleibt vorher hängen. Weshalb kann ich Dir mit diesen Infos nicht beantworten.

  • Leider bin ich nur der "Entwickler", gehostet wird bei dem Kunden, der mir den Auftrag gegeben hat. Ich komme also ohne weiteres auch nicht in die Administrative Oberfläche (1und1).


    In einer lokalen Entwicklungsumgebung und auf einem anderen Server hab ich das ganze noch nicht getestet. Ist auch echt schwer, da wie oben beschrieben die Hyperlinks auf eine Subdomain leiten, die Dateien in einer gewissen Ordner-Struktur liegt und und und.


    Das Problem ist, ich habe zwar vor ein paar Stunden mein Cache geleert, allerdings ist die Seite beim ersten Aufruf direkt aufgegangen ohne weiße Seite. Wie gesagt, der Fehler ist schwer zu provozieren und dauert manchmal Stunden, bis er wieder kommt..


    Ich denke auch das es was mit der htaccess zu tun hat, ich kann mir nur nicht weiterhelfen :-/

  • Wenn du schon Mühe hast das zu Reproduzieren kannst du Dir vielleicht vorstellen, dass das für uns noch schwieriger ist das Problem zu fassen. ;)


    Die Log-Files sind meist per FTP zugänglich, also wenn du die Files per FTP hochgeladen hast findest du dort auch irgendwo Log-Files.


    Und grundsätzlich:

    Lokal entwickeln, so entwickeln, dass es überall läuft, egal wo es liegt. Das würde Dir jetzt die Fehlersuche erleichtern.

  • Um die Mühe gehts mir echt nicht. Ich hab da schon ziemlich viel Zeit rein investiert. Mir geht es darum, dass ich jetzt auf die schnelle keinen anderen Anbieter "mieten" kann, weil ich dann direkt n Jahr gebunden werde. Und es Lokal zu testen via Xampp würde vermutlich nichts bringen, weil ich ja wie oben beschrieben mit festen links auf eine Domain zu greife und mir dort die CSS und JS Dateien abhole. Desweiteren kann ich https ja nicht testen, weils Lokal ja auch kein SSL-Zertifikat gibt. Sprich, ich muss irgendwie versuchen dort zu bugfixxen, wo momentan auch das Projekt liegt.

  • Cache löschen und ewig warten

    Das "ewig warten" irritiert mich. Wenn ich den Cache meines Browsers lösche, dann muss das Problem sofort wieder auftreten. Ist das nicht der Fall, dann liegt das Problem am Server und da helfen nur die Log-Files.


    Edit: Bei mir zeigt der Firefox ewig "Übertragen der Daten von youtube.com" an. Nimm mal den youtube-Kram aus der Seite.

  • Das "ewig warten" irritiert mich. Wenn ich den Cache meines Browsers lösche, dann muss das Problem sofort wieder auftreten. Ist das nicht der Fall, dann liegt das Problem am Server und da helfen nur die Log-Files.


    Edit: Bei mir zeigt der Firefox ewig "Übertragen der Daten von youtube.com" an. Nimm mal den youtube-Kram aus der Seite.

    Hatte ich schon damals, hat leider nicht zum gewünschten Erfolg geführt..

  • Ich sehe das ähnlich, der Fehler dürfte kaum im Script oder in der .htaccess liegen. Auch, dass es in einem anderen Browser beim ersten Aufruf funktioniert wenn du in einem anderen Browser schon "gewartet" hast spricht dagegen.


    Ich würde auch auf externe Abhänigkeiten spekulieren. Du greifst neben youtube auch auf externe fonts und recaptcha zu. Ich würde das alles mal entfernen und schauen ob der Fehler wieder auftritt.


    Edit: Mit Mühe meinte ich, dass es schwer ist den Fehler zu reproduzieren. ;)

  • Code
    1. (index):285 GET https://daten.carelife.global/js/jquery.parallax-1.1.3.js net::ERR_HTTP2_SERVER_REFUSED_STREAM
    2. (index):282 GET https://daten.carelife.global/js/bootstrap.min.js net::ERR_HTTP2_SERVER_REFUSED_STREAM
    3. (index):287 GET https://daten.carelife.global/js/wow.min.js net::ERR_HTTP2_SERVER_REFUSED_STREAM
    4. (index):284 GET https://daten.carelife.global/js/owl.carousel.min.js net::ERR_HTTP2_SERVER_REFUSED_STREAM
    5. (index):290 GET https://daten.carelife.global/js/jquery.isotope.min.js net::ERR_HTTP2_SERVER_REFUSED_STREAM
    6. (index):291 GET https://daten.carelife.global/js/custom-portfolio-masonry.js net::ERR_HTTP2_SERVER_REFUSED_STREAM
    7. (index):169 GET https://daten.carelife.global/carelife/slider1_neu.png net::ERR_HTTP2_SERVER_REFUSED_STREAM
    8. (index):104 GET https://daten.carelife.global/carelife/ger.png net::ERR_HTTP2_SERVER_REFUSED_STREAM
    9. (index):272 GET https://daten.carelife.global/carelife/facebook.png net::ERR_HTTP2_SERVER_REFUSED_STREAM

    Seh ich in der Konsole. Wie in #11 schon steht, ohne Logfiles lässt sich das kaum lösen.

  • Ich kann das Problem nicht nachvollziehen: die Seite läd mit Vivaldi und Firefox unter Win10 und Mint19 jeweils problemlos und beim ersten Versuch.

    Das verstehe ich nicht..



    Ab und zu hilft auch ein Speedtest

    https://developers.google.com/speed/pagespeed/insights/

    Da wird schön aufgelistet wie lange welches Script blockiert ( wie youtube ).

    Wenn man das Script in der Konsole blockiert merkt man schon unterschiede, nur leider sind die hier bei mir nicht eindeutig genug um sagen zu können das es der Hauptverdächtige ist.

    Den hab ich vor einiger Zeit mal gemacht. Beim ersten Test konnte kein Ergebnis gefunden werden (erster Seitenaufruf). Dann hab ich es nochmal angestoßen, dann hat die Auswertung geklappt..



    Heute Nachmittag bestand das Problem noch, jetzt von zu Hause aus scheint es auch problemlos zu funktionieren. Hast du etwas angepasst?

    Nein, ich hatte nichts angepasst.