Vue App with history mode, welche Settings in CCP für das korrekte Redirecting

  • Moin,


    ich habe diverse Einstellung auf der CCP Seite versucht, damit ich meine App zum laufen bringe. Mein Setting in der htaccess sind:


    Code
    1. <IfModule mod_rewrite.c>
    2. RewriteEngine On
    3. RewriteBase /
    4. RewriteRule ^index\.html$ - [L]
    5. RewriteCond %{REQUEST_FILENAME} !-f
    6. RewriteCond %{REQUEST_FILENAME} !-d
    7. RewriteRule . /index.html [L]
    8. </IfModule>

    Wie auf der Vue Seite empflohlen, allerdings werden Unterseiten nicht gerendert und enden mit einem 404 Error. Hat jemand eine Idee?

  • Vor dem Webhosting läuft ein nginx, der das htaccess nicht beachtet.

    Der wird auch das 404 ausspucken, weil die Datei entsprechend nicht gefunden wird.


    Die einfachste Lösung dürfte sein, in den Webserver Einstellungen den Haken bei "Intelligente Bearbeitung statischer Dateien" zu deaktiviern.

    Dann dürfte Apache vollständig übernehmen.

    Siehe: https://www.netcup-wiki.de/wik…g#Einstellungen_Webserver

  • I will give it a try. Thanks.

  • Trotz dieser Einstellungen:

    pasted-from-clipboard.png


    Kommt zu es zu einem nginx-404-fehler.


    pasted-from-clipboard.png


    Unter der URL software-and-testing.com/gallery.


    In der .htaccess ist dies inkludiert:

    Strange.

    Hast du noch eine Idee?


    Gruß


    Michael

  • Ich würde tatsächlich noch etwas warten, bis die Einstellungen vom Webhosting übernommen wurden.

    Bei mir funktioniert es bereits. Ich werde auf /#/gallery weitergeleitet.

    Ich habe wieder den Stand mit diesem Workaround (redirect von gallery auf #/gallery). Die URL muss wirklich https://software-and-testing.com/gallery heißen. Auf einer Docker Apache Instanz funktioniert es tatsächlich ohne Probleme. Ich werde es noch mal deployen und mehr Zeit abwarten. Überschreiben die globalen Setting, die von der Domain?


    Sollte so passen, oder?


    pasted-from-clipboard.png



    Ich bekomme nun den apache 404 Error:


    pasted-from-clipboard.png

  • Naja jetzt ist es ein Error 500, zumindest bei /gallery- hingegen bei /gallery/, man beachte den letzten Slash funktioniert es.

    Deutet für mich darauf hin, dass es in der htaccess klemmt.


    Das kann an dem Regex liegen (der Punkt führt zu mehreren Matchens), oder an dem fehlenden NE Flag liegen RewriteRule . /index.html [NE,L] - dafür sind meine mod rewrite Kenntnisse aber nicht ausreichend.

  • Naja jetzt ist es ein Error 500, zumindest bei /gallery- hingegen bei /gallery/, man beachte den letzten Slash funktioniert es.

    Deutet für mich darauf hin, dass es in der htaccess klemmt.


    Das kann an dem Regex liegen (der Punkt führt zu mehreren Matchens), oder an dem fehlenden NE Flag liegen RewriteRule . /index.html [NE,L] - dafür sind meine mod rewrite Kenntnisse aber nicht ausreichend.

    Hast noch eine Idee wer helfen könnte? Das Problem muss Leuten, mit eine Vue App bei Netcup, aufgefallen sein.

  • Bei diesem Problem am Besten immer die Dev-Console des Browsers mit offen haben und das mit deaktiviertem Cache testen. Die Browser merken sich insbesondere 404 Antworten, Weiterleitungen usw. gern und setzen nicht auf die neue Konfiguration auf.


    Liegt die Vue App direkt im Document Root? Ansonsten muss das Unterverzeichnis in der RewriteBase angegeben werden.

  • Bei diesem Problem am Besten immer die Dev-Console des Browsers mit offen haben und das mit deaktiviertem Cache testen. Die Browser merken sich insbesondere 404 Antworten, Weiterleitungen usw. gern und setzen nicht auf die neue Konfiguration auf.


    Liegt die Vue App direkt im Document Root? Ansonsten muss das Unterverzeichnis in der RewriteBase angegeben werden.

    Jo, liegt in der root. Ich habe nun ein Test Subdomain aufgesetzt. Mit den besagten Konfigurationen.

    https://test.software-and-testing.de test


    Ich nutze immer einen neuen inkognito-tab, daher mit leerem Cache.


    Hast du noch eine Idee?

  • Evtl. könnte man es nochmal mit aktiviertem nGinx versuchen und ihm (statt htaccess) das routing überlassen - nur mal zum Testen, ob es am htaccess/Apache liegt, oder doch in der Routing-Konfiguration:


    Code
    1. location / {
    2. try_files $uri $uri/ /index.html;
    3. }

    Eine Fallback-Route (catch-all) ist ja definiert, oder?

  • Evtl. könnte man es nochmal mit aktiviertem nGinx versuchen und ihm (statt htaccess) das routing überlassen - nur mal zum Testen, ob es am htaccess/Apache liegt, oder doch in der Routing-Konfiguration:


    Code
    1. location / {
    2. try_files $uri $uri/ /index.html;
    3. }

    Eine Fallback-Route (catch-all) ist ja definiert, oder?

    Wo kann ich diese config setzen? Hätte da nix gefunden.

  • Evtl. könnte man es nochmal mit aktiviertem nGinx versuchen und ihm (statt htaccess) das routing überlassen - nur mal zum Testen, ob es am htaccess/Apache liegt, oder doch in der Routing-Konfiguration:

    Er hat ein netcup Webhosting. Ich denke da hat er keinen Zugriff auf die Location Blöcke von nginx.

  • Genau, hab keine root server nur webhosting. Wie gesagt unter docker mit Apache funktioniert es. Habt ihr noch weitere Ideen?

    Funktioniert es da auch explizit mit allen Varianten des Slashes am Ende?

    Die NE Flag ist nämlich so eine Sache von Apache 2.2 - bei 2.4 wurde das entfernt.


    Ich weiß leider nicht, welche Apache Version im Webhosting eingesetzt wird.

  • Funktioniert es da auch explizit mit allen Varianten des Slashes am Ende?

    Die NE Flag ist nämlich so eine Sache von Apache 2.2 - bei 2.4 wurde das entfernt.


    Ich weiß leider nicht, welche Apache Version im Webhosting eingesetzt wird.

    Spielt leider keine Rolle, ob mit oder ohne / am Ende. Leider nutze ich nur die Empfehlung von Vue. Ich habe von Apache einfach zu wenig Ahnung. :/