Ergebnis 1 bis 6 von 6

Thema: Debug-Meldung wg. "No routes found for ...."

  1. #1
    Contao-Nutzer Avatar von Jogibär
    Registriert seit
    13.12.2009.
    Beiträge
    122

    Standard Debug-Meldung wg. "No routes found for ...."

    Hallo zusammen,

    mir ist in einer Contao 4.13 Version im Debug Modus aufgefallen, dass bei einem Seitenaufruf eine Meldung generiert wird, dass eine Route nicht gefunden wurde:


    HTML-Code:
    [2023-09-12] app.DEBUG: Router Symfony\Bundle\FrameworkBundle\Routing\Router was not able to match, message "No routes found for "/kontakt.html/"." [] []
    Hat dies mit dem am Ende angehangenen Punkt "." zu tun? Wenn ja, wie könnte dieser entstanden sein? Durch falsche rewrite-Rules?

    Dank und Gruß
    Jürgen

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

    Standard

    Der Punkt ist nur das Satzende der Fehlermeldung. Aber laut der Fehlermeldung existiert ein Slash am Ende der URL?
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer Avatar von Jogibär
    Registriert seit
    13.12.2009.
    Beiträge
    122

    Standard

    Oh, das habe ich tatsächlich falsch wahrgenommen, danke dir!

    Ich habe den .htaccess Datei nun von meinen eigenen RewriteCond befreit, d.h. die original .htaccess von Contao eingespielt und mehrere weitere Versuche gemacht.

    Leider wird der Fehler im Debug-Modus immer noch aufgeführt.
    Leider verstehe ich manche Rewrite-Regeln nur rudimentär, aber eigentlich sollte es doch mit dieser Standard-htaccess funktionieren.
    Ich nehme an, der Apache hat keinen Cache sondern liest die .htaccess immer explizit neu aus, oder?

    Bei mir sieht die Datei derzeit so aus:

    HTML-Code:
    <IfModule mod_rewrite.c>
        RewriteEngine On
    
        <IfModule mod_headers.c>
            # Assets in /assets and /bundles either contain a hash in their filename
            # or are called with a ?version suffix, therefore cache them for 1 year.
            RewriteRule ^(assets|bundles)/ - [ENV=CONTAO_ASSETS:true]
            Header set Cache-Control "max-age=31536000" env=CONTAO_ASSETS
    
            # Allow CORS on the Contao TinyMCE skin.
            RewriteRule ^assets/tinymce4/js/skins/contao/fonts/ - [ENV=CONTAO_TINYMCE_SKIN:true]
            Header set Access-Control-Allow-Origin "*" env=CONTAO_TINYMCE_SKIN
        </IfModule>
    
        # 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 index.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 `/index.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 ^index\.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}/index.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 ^/$ /index.php/
            # RedirectTemp cannot be used instead
        </IfModule>
    </IfModule>
    Ich hatte sogar noch folgende Regel hinzugefügt, die ich im Netz gefunden habe und die den Slash am Ende entfernen soll:

    HTML-Code:
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_URI} /(.*)/$
          RewriteRule ^ /%1 [R=301,L]

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

    Standard

    Du rufst die URL ohne Slash auf und die Fehlermeldung sagt dann es ist mit Slash?
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer Avatar von Jogibär
    Registriert seit
    13.12.2009.
    Beiträge
    122

    Standard

    Ja, die Seiten werden regulär mit .html Endung aus dem Menü aufgerufen.
    Alle Aliase bestehen nur aus Buchstaben und evtl. Bindestrichen.

  6. #6
    Contao-Nutzer Avatar von Jogibär
    Registriert seit
    13.12.2009.
    Beiträge
    122

    Standard

    Ich glaube ich habe den Fehler gefunden:

    Zumindest gibt es keinen Fehler-Eintrag mehr wenn ich: "Ordner-URLs verwenden" deaktiviere!
    Mir ist aufgefallen, dass die URLs auch gar nicht in Ordnerform ausgegeben werden, d.h. diese Aktivierung hatte nichts bewirkt bzw. wurde vllt. überschrieben(?)

    EDIT: Sorry, Fehlalarm! Der Debug-Modus war zwischenzeitlich wieder deaktiv. Der Fehler besteht unabhägng davon, ob "Ordner-URLs verwenden" aktiviert ist oder nicht :-/
    Geändert von Jogibär (12.09.2023 um 14:51 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
  •