Contao-Camp 2024
Ergebnis 1 bis 24 von 24

Thema: Aufruf der Vorschau liefert 404

  1. #1
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard Aufruf der Vorschau liefert 404

    Moin,

    ich habe Contao 4.8.3 auf einem Server mit nginx (timme) installiert. Alles gut soweit, aber wenn ich den Link zur Frontendvorschau aufrufe bekomme ich einen 404.
    Im Debug Modus gibt es diesen Ausgabe: No route found for "GET /preview.php/contao/preview" (from "http://cms.<domain>.de/")

    Danach folgen viele weitere Informationen, die mir aber nicht wirklich weiter helfen, das hier zum Beispiel:

    Exceptions 2Logs 1Stack Traces 2
    Symfony\Component\HttpKernel\Exception\
    NotFoundHttpException
    in vendor/symfony/http-kernel/EventListener/RouterListener.php (line 138)
    in vendor/symfony/event-dispatcher/EventDispatcher.php->onKernelRequest (line 298)
    in vendor/symfony/event-dispatcher/EventDispatcher.php::Symfony\Component\EventDispat cher\{closure} (line 260)
    in vendor/symfony/event-dispatcher/EventDispatcher.php->doDispatch (line 235)
    in vendor/symfony/event-dispatcher/EventDispatcher.php->callListeners (line 73)
    in vendor/symfony/http-kernel/HttpKernel.php->dispatch (line 127)
    in vendor/symfony/http-kernel/HttpKernel.php->handleRaw (line 68)
    in vendor/symfony/http-kernel/Kernel.php->handle (line 198)
    Kernel->handle(object(Request))
    in web/index.php (line 31)
    require('/var/www/clients/client15/web19/web/web/index.php')
    in web/app.php (line 4)

    Der Letzte Punkt in der Liste scheint auf eine fehlende index.php hinzuweisen, diese index.php gibt es ja auch nicht. Soweit also irgendwie korrekt. Trotzdem weiß ich nicht was zu tun ist damit ich die Vorschau aufrufen kann.

    Andere Contao Installationen laufen, Unterschied auch Contao 4er. Unterschied zu dieser: Diese nutzt eine subdomain.

    Vielleicht weiß ja jemand was zu tun ist.

    Grüße, Dieter

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

    Standard

    Zitat Zitat von Fulano Beitrag anzeigen
    Der Letzte Punkt in der Liste scheint auf eine fehlende index.php hinzuweisen, diese index.php gibt es ja auch nicht.
    Was meinst du damit? Die muss es geben.

    Du musst deine nginx config noch für Contao 4.8 anpassen. Der neue Einstiegspunkt ist nicht mehr app.php, sondern index.php. Außerdem solltest du deine nginx config dahingehend überprüfen, dass Contao auch mit anderen Einstiegspunkten, wie eben die preview.php, funktioniert.

  3. #3
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Moin,

    du hast natürlich recht, die index.php gibt es. Da bin ich mit den Ordnern durcheinander gekommen.

    Mich wundert eben das der Aufruf des Backens ohne Probleme klappt, ebenso der Aufruf der Seiten im Frontend. Was nicht geht ist wirklich nur die Vorschaufunktion.

    Die Änderungen die du ansprichst, sind das Änderungen in der nginx-direktive? Dort finde ich eine Angabe mit app.php

    Momentan sieht diese so aus:

    Code:
    location /{FOLDER} {
        client_max_body_size 100M;
        root {DOCROOT}/{FOLDER}web;
    
    
        index app.php;
        try_files $uri $uri/ /{FOLDER}app.php$is_args$args;
        
        location ~ ^/{FOLDER}(app|app_dev|config|install|contao-manager\.phar)\.php(/|$) {
            include /etc/nginx/fastcgi_params;
            {FASTCGIPASS}
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
            
            fastcgi_temp_file_write_size 10m;
            fastcgi_busy_buffers_size 512k;
            fastcgi_buffer_size 512k;
            fastcgi_buffers 16 512k;
            fastcgi_read_timeout 1200;
            fastcgi_param HTTP_AUTHORIZATION $http_authorization;
            <tmpl_if name='php' op='==' value='hhvm'>error_page 500 501 502 503 = @phpfallback{FOLDERMD5};</tmpl_if>
            
        }
    
    
        location ~ \.(jpe?g|png|gif|ico|webp|css|js|svg|woff2?|ttf|otf|eot)$ {
            expires 1M;
            try_files $uri $uri/ /{FOLDER}app.php$is_args$args;
        }
    }
    
    
    <tmpl_if name='php' op='==' value='hhvm'>
    location @phpfallback{FOLDERMD5} {
        client_max_body_size 100M;
        root {DOCROOT}/{FOLDER}web;
        include /etc/nginx/fastcgi_params;
        {PHPFALLBACKFASTCGIPASS}
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
            
        fastcgi_temp_file_write_size 10m;
        fastcgi_busy_buffers_size 512k;
        fastcgi_buffer_size 512k;
        fastcgi_buffers 16 512k;
        fastcgi_read_timeout 1200;
        fastcgi_param HTTP_AUTHORIZATION $http_authorization;
        
    }
    </tmpl_if>
    Vielleicht kannst du ja damit etwas anfangen.

    Grüße, Dieter
    Geändert von Fulano (27.09.2019 um 11:27 Uhr)

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

    Standard

    Moderation: Code, Configs & Fehlermeldungen bitte immer in [code] tags posten.

  5. #5
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Sorry, wurde korrigiert.

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

    Standard

    Soweit ich sehen kann gibt es in deiner nginx config nur Direktiven für app.php, app_dev.php, config.php, install.php und contao-manager.phar.php . Jede andere PHP Datei kann also nicht ausgeführt werden.

  7. #7
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Der Support sagt "... das System kann keine Route für /preview.php/contao/preview/ finden ..." und das dies nichts mit der Server Konfiguration zu tun hat, sondern ein internes Contao Problem ist.
    Da scheinbar kein Controller hinterlegt ist, der auf den Pfad reagieren soll.

    Nun weiß ich nicht wo das Problem zu beheben sein soll, ich vermute aber nicht das es an der Contao Installation liegt.

    Wo muss man denn nun ansetzen, bei den nginx Direktiven oder bei der Konfiguration von Contao?

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

    Standard

    Zitat Zitat von Fulano Beitrag anzeigen
    Der Support sagt "... das System kann keine Route für /preview.php/contao/preview/ finden ..." und das dies nichts mit der Server Konfiguration zu tun hat, sondern ein internes Contao Problem ist.
    Nein, das Problem ist wie schon von mir beschrieben. Da deine nginx Konfiguration aktuell auf app.php, app_dev.php, config.php, install.php und contao-manager.phar.php beschränkt ist, trifft nur mehr folgende Rule zu:
    Code:
    try_files $uri $uri/ /{FOLDER}app.php$is_args$args;
    Die Anfrage auf /preview.php/contao/preview/ wird also als Parameter an die app.php weiter gegeben. Das funktioniert dann natürlich nicht.




    Zitat Zitat von Fulano Beitrag anzeigen
    Wo muss man denn nun ansetzen, bei den nginx Direktiven oder bei der Konfiguration von Contao?
    nginx natürlich . Du musst vermutlich nur
    Code:
    location ~ ^/{FOLDER}(app|app_dev|config|install|contao-manager\.phar)\.php(/|$) {
    auf
    Code:
    location ~ ^/{FOLDER}(app|app_dev|preview|config|install|contao-manager\.phar)\.php(/|$) {
    ändern. Wenn du schon dabei bist, kannst du aber auch gleich
    Code:
    location ~ ^/{FOLDER}(preview|contao-manager\.phar)\.php(/|$) {
    daraus machen. Denn eine app.php, config.php, app_dev.php & install.php gibt es nicht mehr (bzw. sind nicht mehr relevant).

  9. #9
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Vielen Dank für die Änderungsvorschläge.

    Wenn ich die einsetze dann krieg ich die Seite gar nicht mehr aufgerufen, 404.

    Ich habe erneut den Support kontaktiert.

    Das ist die Antwort:

    Wie bereits gesagt, ist dies ein Problem in Contao, nicht in nginx. Die Debug-Meldung zeigt dies sehr deutlich: Contao hat keinen Controller, der auf die angefragte Seite passt. Dies hat mit nginx nichts zu tun, weshalb hier auch keine Änderung der Direktiven etwas bewirken kann.

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

    Standard

    Die Aussage des Supports ist aber falsch . Siehe meine Erklärungen.

  11. #11
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.056
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wie kommen wir jetzt aus dieser Endlosschleife raus?

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

    Standard

    Ich denke insgesamt muss
    Code:
    try_files $uri $uri/ /{FOLDER}app.php$is_args$args;
    zu
    Code:
    try_files $uri $uri/ /{FOLDER}index.php$is_args$args;
    und
    Code:
    location ~ ^/{FOLDER}(app|app_dev|config|install|contao-manager\.phar)\.php(/|$) {
    zu
    Code:
    location ~ ^/{FOLDER}(index|preview|contao-manager\.phar)\.php(/|$) {
    geändert werden.

  13. #13
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Die Änderungen habe ich ausprobiert, es kommt dann wieder zu einem 404.

    Zitat Zitat von tab Beitrag anzeigen
    Wie kommen wir jetzt aus dieser Endlosschleife raus?
    Gar nicht, darum heißt es ja Endlosschleife.

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

    Standard

    Poste deine aktuelle ngibx config.

  15. #15
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Die nginx-Vorlage wurde getestet:

    Code:
    location /{FOLDER} {
    	client_max_body_size 100M;
    	root {DOCROOT}/{FOLDER}web;
    
    
    	index app.php;
    	try_files $uri $uri/ /{FOLDER}app.php$is_args$args;
    	
    #	location ~ ^/{FOLDER}(app|app_dev|config|install|contao-manager\.phar)\.php(/|$) {
    	location ~ ^/{FOLDER}(index|preview|contao-manager\.phar)\.php(/|$) {
    
    
    		include /etc/nginx/fastcgi_params;
    		{FASTCGIPASS}
    		fastcgi_split_path_info ^(.+\.php)(/.*)$;
    		fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    		fastcgi_intercept_errors on;
    		
    		fastcgi_temp_file_write_size 10m;
    		fastcgi_busy_buffers_size    512k;
    		fastcgi_buffer_size          512k;
    		fastcgi_buffers           16 512k;
    		fastcgi_read_timeout 1200;
    		fastcgi_param HTTP_AUTHORIZATION $http_authorization;
    		<tmpl_if name='php' op='==' value='hhvm'>error_page 500 501 502 503 = @phpfallback{FOLDERMD5};</tmpl_if>
    		
    	}
    
    
    	location ~ \.(jpe?g|png|gif|ico|webp|css|js|svg|woff2?|ttf|otf|eot)$ {
    		expires 1M;
    #		try_files $uri $uri/ /{FOLDER}app.php$is_args$args;
    		try_files $uri $uri/ /{FOLDER}index.php$is_args$args;
    	}
    }
    
    
    <tmpl_if name='php' op='==' value='hhvm'>
    location @phpfallback{FOLDERMD5} {
    	client_max_body_size 100M;
    	root {DOCROOT}/{FOLDER}web;
    	include /etc/nginx/fastcgi_params;
    	{PHPFALLBACKFASTCGIPASS}
    	fastcgi_split_path_info ^(.+\.php)(/.*)$;
    	fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    	fastcgi_intercept_errors on;
    		
    	fastcgi_temp_file_write_size 10m;
    	fastcgi_busy_buffers_size    512k;
    	fastcgi_buffer_size          512k;
    	fastcgi_buffers           16 512k;
    	fastcgi_read_timeout 1200;
    	fastcgi_param HTTP_AUTHORIZATION $http_authorization;
    	
    }
    </tmpl_if>
    Geändert von Fulano (28.09.2019 um 17:14 Uhr)

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

    Standard

    Ja, das hast du ja schon eingangs gepostet. Ich meinte welche Konfiguration du jetzt hast. Dass die ursprüngliche Konfiguration nicht stimmt wurde ja schon etabliert. Die basiert noch auf alten Contao Versionen.

  17. #17
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Mein letzter Post wurde korrigiert.

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

    Standard

    Diese Zeilen
    Code:
    	index app.php;
    	try_files $uri $uri/ /{FOLDER}app.php$is_args$args;
    sollten für Contao 4.8 auch noch auf
    Code:
    	index index.php;
    	try_files $uri $uri/ /{FOLDER}index.php$is_args$args;
    geändert werden.

  19. #19
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Sppoky, you made my day.

    Es funktioniert nun wie gewünscht, vielen Dank für die Unterstützung.

    Was sage ich nun dem Support?

  20. #20
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.056
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Fulano Beitrag anzeigen
    Sppoky, you made my day.

    Es funktioniert nun wie gewünscht, vielen Dank für die Unterstützung.

    Was sage ich nun dem Support?
    Dass du nur noch die Hälfte zahlst, weil du Contao bei Timme nicht nutzen kannst.

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

    Standard

    Zitat Zitat von Fulano Beitrag anzeigen
    Was sage ich nun dem Support?
    Dass sie ihre Configs noch für Contao 4.8 anpassen müssen . Grundsätzlich sollte eigentlich das Hinzufügen von "preview" bei
    Code:
    location ~ ^/{FOLDER}(app|app_dev|config|install|contao-manager\.phar)\.php(/|$) {
    reichen, um auch mit allen anderen Contao Versionen kompatibel zu bleiben. Keine Ahnung warum das bei dir nicht funktioniert hat. So (oder ähnlich) habe ich es auch in meinem lokalen nginx Setup.

  22. #22
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Dass du nur noch die Hälfte zahlst, weil du Contao bei Timme nicht nutzen kannst.
    Wenn die sich darauf einlassen, dann lade ich euch zum Essen ein.

    Spaß beiseite, es ist mir schon wichtig zu wissen inwiefern die Argumention des Supports wegen der Fehler mit dem Routing richtig oder falsch sind.

    Liege ich richtig mit dieser Einschätzung?
    Bei Contao 8.4.3 wurden Änderungen vorgenommen die die app.php, config.php, app_dev.php und install.php betreffen. Durch diese Änderungen können mit der zur Verfügung gestellten nginx Direktive nicht alle Funktionen korrekt ausgeführt werden, wie zum Beispiel die Funktion der Frontend -Vorschau. In Contao liegt kein Fehler vor, die Neuerungen in Contao müssen von der nginx-Direktive berücksichtigt werden.

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

    Standard

    Zitat Zitat von Fulano Beitrag anzeigen
    Bei Contao 8.4.3 wurden Änderungen vorgenommen die die app.php, config.php, app_dev.php und install.php betreffen. Durch diese Änderungen können mit der zur Verfügung gestellten nginx Direktive nicht alle Funktionen korrekt ausgeführt werden, wie zum Beispiel die Funktion der Frontend -Vorschau. In Contao liegt kein Fehler vor, die Neuerungen in Contao müssen von der nginx-Direktive berücksichtigt werden.
    Hm, nein, eigentlich ist es so: in Contao 4.8 wurde ein neuer Einstiegspunkt namens preview.php hinzugefügt. Dieser Einstiegspunkt ist von der bisherigen nginx Konfiguration deines Hosters nicht abgedeckt. Die bisherige nginx Konfiguration deckt nur folgende Einstiegspunkte ab:

    • app.php
    • app_dev.php
    • config.php
    • install.php
    • contao-manager.phar.php


    Anmerkung: zwar wurde in Contao 4.8 des weiteren auch ein neuer Einstiegspunkt namens index.php hinzugefügt, allerdings ist dafür keine Anpassung der Server Konfiguration notwendig, da aus Rückwärtskompatibilitätsgründen der Einstiegspunkt app.php weiter existiert (in welcher einfach wiederum nur die index.php eingebunden wird).
    Geändert von Spooky (28.09.2019 um 18:00 Uhr)

  24. #24
    Contao-Fan Avatar von Fulano
    Registriert seit
    14.09.2010.
    Beiträge
    455
    Partner-ID
    7000

    Standard

    Okay, danke für die Ausführungen.

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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