Ergebnis 1 bis 22 von 22

Thema: Probleme beim Update von 3.5.40 auf 4.4 LTS (Umleitungsfehler im Frontend)

  1. #1
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Frage Probleme beim Update von 3.5.40 auf 4.4 LTS (Umleitungsfehler im Frontend)

    Hallo Community,

    ich bin bzgl. Contao Neuling und habe mir ist die "Ehre" zuteil geworden, eine uralte Contao Installation von 2014 auf den aktuellen Stand zu bringen.

    Was ich bis jetzt hinbekommen habe, ist, dass - nachdem ich mühsam alle verfügbaren Updates der Reihe nach vorgenommen habe -
    zumindest mal die letzte 3er Version (3.5.40) mit PHP 7.3 funktioniert.
    Somit ist das Gröbste erst mal gepackt und die PHP5 Abschaltung kann kommen.

    Da für Contao 3.5 der Support aber auch schon 2019 abgelaufen ist, dachte ich, es ist einen Versuch wert, mal direkt auf 4.4 LTS zu gehen.

    Das habe ich bis jetzt diesbezüglich unternommen:

    • Seite mal in eine lokale Entwicklungsumgebung geklont
    • Parallel Contao 4.4 LTS mit composer installiert
    • Datenbank von Contao 3.5 übernommen
    • files und templates Order rüberkopiert



    Soweit so gut, das Backend läuft soweit.

    Im Frontend bekomme ich jedoch immer einen Umleitungsfehler. Cookies habe ich natürlich geleert, auch im Contao alles Caches, Install Tools ausgeführt usw.

    contao.jpg

    Hat jemand eine Idee, woran das liegen könnte?

    Die .htaccess Datei im /web/ Ordner ist die, die per default dabei war, daran habe ich nichts geändert.


    Code:
    <IfModule mod_headers.c>
        # Allow access from all domains for webfonts (see contao/core-bundle#528)
        <FilesMatch "\.(ttf|ttc|otf|eot|woff2?|font\.css)$">
            Header set Access-Control-Allow-Origin "*"
        </FilesMatch>
    </IfModule>
    
    <IfModule mod_rewrite.c>
        RewriteEngine On
    
        # Determine the RewriteBase automatically and set it as environment variable.
        # If you are using Apache aliases to do mass virtual hosting or installed the
        # project in a subdirectory, the base path will be prepended to allow proper
        # resolution of the app.php file and to redirect to the correct URI. It will
        # work in environments without path prefix as well, providing a safe, one-size
        # fits all solution. But as you do not need it in this case, you can comment
        # the following 2 lines to eliminate the overhead.
        RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
        RewriteRule ^(.*) - [E=BASE:%1]
    
        # Sets the HTTP_AUTHORIZATION header removed by Apache
        RewriteCond %{HTTP:Authorization} .
        RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect to URI without front controller to prevent duplicate content
        # (with and without `/app.php`). Only do this redirect on the initial
        # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
        # endless redirect loop (request -> rewrite to front controller ->
        # redirect -> request -> ...).
        # So in case you get a "too many redirects" error or you always get redirected
        # to the start page because your Apache does not expose the REDIRECT_STATUS
        # environment variable, you have 2 choices:
        # - disable this feature by commenting the following 2 lines or
        # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
        #   following RewriteCond (best solution)
        RewriteCond %{ENV:REDIRECT_STATUS} ^$
        RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
    
        # If the requested filename exists, simply serve it.
        # We only want to let Apache serve files and not directories.
        RewriteCond %{REQUEST_FILENAME} -f
        RewriteRule ^ - [L]
    
        # Rewrite all other queries to the front controller.
        RewriteRule ^ %{ENV:BASE}/app.php [L]
    </IfModule>
    
    <IfModule !mod_rewrite.c>
        <IfModule mod_alias.c>
            # When mod_rewrite is not available, we instruct a temporary redirect of
            # the start page to the front controller explicitly so that the website
            # and the generated links can still be used.
            RedirectMatch 302 ^/$ /app.php/
            # RedirectTemp cannot be used instead
        </IfModule>
    </IfModule>
    Für sachdienliche Hinweise, die mir weiterhelfen könnten, bin ich sehr dankbar.

  2. #2
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hast Du in Deiner lokalen Entwicklungsumgebung einen VirtualHost erstellt, dessen DocumentRoot auf den web/ Unterordner zeigt?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  3. #3
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Hast Du in Deiner lokalen Entwicklungsumgebung einen VirtualHost erstellt, dessen DocumentRoot auf den web/ Unterordner zeigt?
    Ja, habe ich. Sonst funktioniert Contao 4 gar nicht.

  4. #4
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ist im "Startpunkt einer Webseite" eine Domain eingetragen?
    Geändert von xchs (12.01.2020 um 15:57 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  5. #5
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Hast Du im "Startpunkt einer Webseite" eine Domain eingetragen?
    Du meinst bei der Startseite, wo bei "Seitentyp" "Startpunkt einer Webseite" steht?

    Da war das Feld "Domainname" leer.

    Habe aber auch schon versucht, die lokale Domain einzutragen, unter der Contao 4 läuft, derselbe Fehler kommt dann immer noch.

  6. #6
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von D3nnis Beitrag anzeigen
    Du meinst bei der Startseite, wo bei "Seitentyp" "Startpunkt einer Webseite" steht?
    Ja.

    Zitat Zitat von D3nnis Beitrag anzeigen
    Da war das Feld "Domainname" leer.
    Ok.

    Zitat Zitat von D3nnis Beitrag anzeigen
    Habe aber auch schon versucht, die lokale Domain einzutragen, unter der Contao 4 läuft
    Nein, das brauchst Du nicht.

    Wie sehen denn die anderen Einstellungen im Startpunkt aus? Ist die Option "HTTPS verwenden" aktiviert?

    Betrifft das Umleitungsproblem alle regulären Seiten der Website oder nur die Startseite?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  7. #7
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Ja.


    Ok.


    Nein, das brauchst Du nicht.

    Wie sehen denn die anderen Einstellungen im Startpunkt aus? Ist die Option "HTTPS verwenden" aktiviert?


    Betrifft das Umleitungsproblem alle regulären Seiten der Website oder nur die Startseite?

    Nein, habe kein HTTPS / Zertifikat für meine lokale Entwicklungsumgebung.

    Wenn ich eine andere Seite aufrufe, wird komischerweise auch zur URL der Startseite umgeleitet (irgendwie scheint Contao die URLs nicht zu erkennen und leitet wohl deshalb auf die Startseite um). Dann gibt's wieder den Umleitungsfehler.

  8. #8
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Lässt sich die Startseite oder andere Seite aufrufen, wenn Du explizit den Einstiegspunkt in der URL mit angibst? Also z. B. http://example.local/app.php bzw. http://example.local/app.php/kontakt.html
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  9. #9
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Lässt sich die Startseite oder andere Seite aufrufen, wenn Du explizit den Einstiegspunkt in der URL mit angibst? Also z. B. http://example.local/app.php bzw. http://example.local/app.php/kontakt.html
    Nein leider auch nicht. Was mir auffällt:

    Die URLs sehen so aus:

    http://test.local/de/startseite.html

    Das sieht mir aus wie irgendein Sprachprefix oder sowas, obwohl die Webseite eigentlich nur in deutsch verfügbar ist.

    Habe im Backend aber nichts gefunden, wo man das einstellen / umstellen kann.

    Bei der Startseite ist bei "Seitenalias" der Wert "de/startseite" hinterlegt. Wenn ich den ändere, z.B. einfach auf "home", kommt der Umleitungsfehler nicht mehr, dafür gibt es aber einen anderen Fehler (Contao Fehlerseite).

    Das scheint irgendwie zu einem Modul zu gehören, das "z3n_jundp" heißt, habe den ORdner mal rüberkopiert unter system/modules/, die Meldung kommt aber immernoch. Vermutlich irgendein altes Modul, das nicht kompatibel ist. Muss was spezielles sein, habe es nicht auf der Contao Erweiterungen-Seite gefunden.

    In den System-Logs taucht dann folgendes auf:

    Code:
    [2020-01-12 17:22:39] request.INFO: Matched route "contao_frontend". {"route":"contao_frontend","route_parameters":{"_token_check":true,"_controller":"Contao\\CoreBundle\\Controller\\FrontendController::indexAction","_scope":"frontend","alias":"home","_route":"contao_frontend"},"request_uri":"http://[lokale TestDomain]/home.html","method":"GET"} []
    [2020-01-12 17:22:39] security.INFO: Attempting SimplePreAuthentication. {"key":"frontend","authenticator":"Contao\\CoreBundle\\Security\\ContaoAuthenticator"} []
    [2020-01-12 17:22:39] app.CRITICAL: An exception occurred. {"exception":"[object] (Exception(code: 0): Could not find template \"mod_navigation_footer\" at /var/www/[lokale TestDomain]/v4/vendor/contao/core-bundle/src/Resources/contao/library/Contao/TemplateLoader.php:153)"} []
    Geändert von D3nnis (12.01.2020 um 16:29 Uhr)

  10. #10
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    In diesem Fall müsstest Du in den Systemeinstellungen die Option "Ordner-URLs verwenden" aktivieren oder - falls gewünscht - in der Konfigurationsdatei app/config/config.yml die Ausgabe des Sprachkürzels in der URL aktivieren:

    Code:
    contao:
        prepend_locale: true
    Die Fehlermeldung aus dem Log sagt Dir, dass das Frontend-Template mod_navigation_footer.html5 nicht mehr gefunden wird. Existiert dieses Template in Deinem templates/ Verzeichnis?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  11. #11
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    In diesem Fall müsstest Du in den Systemeinstellungen die Option "Ordner-URLs verwenden" aktivieren oder - falls gewünscht - in der Konfigurationsdatei app/config/config.yml die Ausgabe des Sprachkürzels in der URL aktivieren:

    Code:
    contao:
        prepend_locale: true
    Die Fehlermeldung aus dem Log sagt Dir, dass das Frontend-Template mod_navigation_footer.html5 nicht mehr gefunden wird. Existiert dieses Template in Deinem templates/ Verzeichnis?
    templates und files habe ich komplett übernommen. Habe oben meine Antwort nochmal editiert, das Ding gehört wohl zu irgendeinem Modul. Habe das Modul kopiert, in dem modul-Ordner ist noch ein "templates" Unterordner, der Fehler tritt aber immernoch auf. Keine Ahnung wozu das Modul gut ist oder wie man das deaktiveren kann, so dass nicht mehr versucht wird, es zu laden.

    Habe das Modul mal versucht, unter Contao 3.5 zu deaktivieren, dann funktioniert die ganze Seite aber nicht mehr. Vielleicht lass ich es einfach bei Contao 3.5 und mache die Seite irgendwann mal komplett neu ;-).

  12. #12
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von D3nnis Beitrag anzeigen
    Habe das Modul kopiert
    Nur kopieren reicht nicht, Du müsstest auch noch den Symfony Cache var/cache selbst löschen (und ggf. nochmals das Contao Installtool aufrufen).

    Zitat Zitat von D3nnis Beitrag anzeigen
    in dem modul-Ordner ist noch ein "templates" Unterordner, der Fehler tritt aber immernoch auf
    Befindet sich in diesem templates/ Unterordner das fragliche Template mod_navigation_footer.html5?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  13. #13
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Nur kopieren reicht nicht, Du müsstest auch noch den Symfony Cache var/cache selbst löschen (und ggf. nochmals das Contao Installtool aufrufen).


    Befindet sich in diesem templates/ Unterordner das fragliche Template mod_navigation_footer.html5?
    Ja, die entsprechende .html5 Datei ist da vorhanden. Danke für den Tipp mit dem Symfony Cache. Das hat was gebracht. Jetzt bekomme ich eine leere Seite angezeigt, auf der in der Mitte ein leeres Bild ist, das nicht geladen werden kann .

    Jetzt kommt

    Code:
    [2020-01-12 17:38:47] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "Page not found: http://[lokale Domain]/files/default/vendor/font-awesome/fonts/fontawesome-webfont.ttf?v=4.3.0" at /var/www/[lokale Domain]/v4/vendor/contao/core-bundle/src/EventListener/ExceptionConverterListener.php line 112 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): Page not found: http://[lokale Domain]/files/default/vendor/font-awesome/fonts/fontawesome-webfont.ttf?v=4.3.0 at /var/www/[lokale Domain]/v4/vendor/contao/core-bundle/src/EventListener/ExceptionConverterListener.php:112, Contao\\CoreBundle\\Exception\\PageNotFoundException(code: 0): Page not found: http://[lokale Domain]/files/default/vendor/font-awesome/fonts/fontawesome-webfont.ttf?v=4.3.0 at /var/www/[lokale Domain]/v4/vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php:63)"} []
    Sieht so aus, als müsste ich die anderen Module auch noch durchgehen. Vielleicht ist da noch was mit fontawesome versteckt irgendwo.

    HAbe die anderen Module mit dem Prefix jetzt mal nachgezogen, jetzt war die Meldung weg, dafür beschwert er sich jetzt, dass er /files/default/img/favicons/favicon.ico nicht finden kann. Die Datei ist aber da.

    Oder muss der files/ Ordner unter /web/ liegen? Ich denke mal nicht oder?

    LG
    Geändert von D3nnis (12.01.2020 um 16:47 Uhr)

  14. #14
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Grundsätzlich musst Du für alle bisher in der Contao 3.5 Installation eingesetzten Drittanbietererweiterungen die jeweils passende Contao 4 Erweiterung (nach Möglichkeit als Bundle) installieren. Falls es für bestimmte Erweiterungen keine Contao 4 Version mehr gibt, könnte man versuchen, die betreffenden Erweiterungen manuell zu installieren und den Modul-Ordner nach system/modules/ zu kopieren (was Du vorhin ja gemacht hast). Letzteres mag für viele Contao 3.5 Erweiterungen zwar (noch) funktionieren, für alle klappt das aber nicht. Auf manche Erweiterungen könnte man ggf. auch komplett verzichten (sofern sie für den eigentlichen Betrieb der Website nicht relevant sind).
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  15. #15
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von D3nnis Beitrag anzeigen
    HAbe die anderen Module mit dem Prefix jetzt mal nachgezogen, jetzt war die Meldung weg, dafür beschwert er sich jetzt, dass er /files/default/img/favicons/favicon.ico nicht finden kann. Die Datei ist aber da.
    Alle Ressourcen, welche öffentlich zugänglich sein sollen, müssen in der Dateiverwaltung auf "Öffentlich" gesetzt werden. Ist das beim Ordner "default" der Fall?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  16. #16
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Grundsätzlich musst Du für alle bisher in der Contao 3.5 Installation eingesetzten Drittanbietererweiterungen die jeweils passende Contao 4 Erweiterung (nach Möglichkeit als Bundle) installieren. Falls es für bestimmte Erweiterungen keine Contao 4 Version mehr gibt, könnte man versuchen, die betreffenden Erweiterungen manuell zu installieren und den Modul-Ordner nach system/modules/ zu kopieren (was Du vorhin ja gemacht hast). Letzteres mag für viele Contao 3.5 Erweiterungen zwar (noch) funktionieren, für alle klappt das aber nicht. Auf manche Erweiterungen könnte man ggf. auch komplett verzichten (sofern sie für den eigentlichen Betrieb der Website nicht relevant sind).
    Okay, super. Vielen Dank für deine Hilfe am Sonntagabend. Ich habe jetzt mal noch den files Ordner nach /web/ verschoben, jetzt funktioniert die Seite schon einigermaßen (komischerweise kann /templates/ außerhalb von /web/ liegen). Ein paar Komponenten funktionieren noch nicht ganz einwandfrei, aber das kriege ich vielleicht noch hin.

    Wie gesagt - vielen, vielen Dank schon mal und noch einen schönen Sonntagabend!

  17. #17
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von D3nnis Beitrag anzeigen
    Ich habe jetzt mal noch den files Ordner nach /web/ verschoben
    Nein, das solltest Du nicht machen. Es reicht - wie schon gesagt - wenn Du in der Dateiverwaltung alle relevanten Ordner in den Einstellungen auf "Öffentlich" setzst.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  18. #18
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Daumen hoch

    Zitat Zitat von xchs Beitrag anzeigen
    Nein, das solltest Du nicht machen. Es reicht - wie schon gesagt - wenn Du in der Dateiverwaltung alle relevanten Ordner in den Einstellungen auf "Öffentlich" setzst.
    Danke, das klingt natürlich noch besser.

  19. #19
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Multimedia

    So, die Seite läuft. Wow. Hätte nicht gedacht, dass ich das heute noch hinbekomme. Waren noch ein paar kleinere Unschönheiten, vielleicht fallen mir bei der weiteren Durchsicht auch noch welche auf. Für andere, die das Problem auch noch haben: Früher war es anscheinend so, dass der Seitenalias bei Artikeln auch als HTML-ID verwendet wird für manche Elemente (eventuell war das aber auch nur wegen der eingesetzten Module so). Hier muss man bei Contao 4 auch nochmal explizit die ID setzen, andernfalls wird einfach "article-xxxx" gesetzt.

    Meistens stört das vermutlich nicht, aber wenn im Hintergrund JavaScript läuft, das die IDs genauso benötigt, weil z.B. zu einem bestimmten Element gesprungen werden soll, wenn irgendetwas angeklickt wird o.ä. ist das wichtig.

    Da jetzt alles läuft bin ich gespannt auf Contao 4.9 - dann steht das nächste Update an .

    Nochmal vielen Dank!

  20. #20
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Standard

    Noch eine Frage: Wenn ich im Nachhinein ein Modul deaktivieren will, kann man dann einfach den Unterordner in /modules löschen und den Symfony Cache löschen?

  21. #21
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.083
    Partner-ID
    10107

    Standard

    Wenn du eine manuell installierte Contao 3 Extension meinst, dann ja, du musst das sogar so machen.

  22. #22
    Contao-Nutzer
    Registriert seit
    12.01.2020.
    Beiträge
    13

    Frage Noch immer Fehler im Backend

    Hallo nochmal,

    nachdem das Frontend eigentlich gut funktioniert, sind mir nun aber noch Fehler im Backend aufgefallen:

    es funktionieren hier keine Buttons. Wenn z.B. ein Artikel bearbeitet wird, der eine unnummerierte Liste hat, sind rechts daben Buttons für "Listeneintrag duplizieren", "Eintrag verschieben" und "Eintrag löschen", keine davon funktioniert.

    Nicht einmal der Abmelden Button im Backend recht oben funktioniert.

    Vielleicht irgendwie ein JavaScript Bug?

    Die Browser Konsole bringt die Fehler "Browser not defined" und "Locale not defined", bin aber nicht sicher, ob das damit was zu tun hat.
    contao-Bildschirmfoto_2020-01-23_07-33-55.png

    Weiterhin gibts noch ein

    TypeError: window.addEvent is not a function contao:365:12
    cont-Bildschirmfoto_2020-01-23_09-28-09.png

    Darüber hinaus ist mir noch aufgefallen, dass bei der Anmeldung im Backend noch die Meldung kommt:

    Code:
    "JavaScript scheint in Ihrem Browser deaktiviert zu sein. Das Contao-Backend funktioniert ohne JavaScript nur eingeschränkt."
    Geändert von D3nnis (23.01.2020 um 17:16 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •