Contao-Camp 2024
Ergebnis 1 bis 31 von 31

Thema: Fehlerhafte URI wenn Rewrite aktiviert

  1. #1
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard Fehlerhafte URI wenn Rewrite aktiviert

    Hallo, Ich benutze die Banner Erweiterung 3.5.2 auf Contao 3.4.4. Wenn ich in der htaccess die folgenden Zeilen auskommentiere wird, wird folgende Ausgabe erstellt: Bildschirmfoto 2015-06-26 um 07.41.39 Kopie.jpg

    Wie sieht meine htaccess aus?
    Code:
     ##
      # By default, Contao adds ".html" to the generated URLs to simulate static
      # HTML documents. If you change the URL suffix in the back end settings, make
      # sure to change it here accordingly!
      #
      #   RewriteRule .*\.html$ index.php [L]   # URL suffix .html
      #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt
      #   RewriteRule .*\.json$ index.php [L]   # URL suffix .json
      #
      # If you do not want to use an URL suffix at all, you have to add a third
      # line to prevent URLs that point to folders from being rewritten (see #4031).
      #
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule .* index.php [L]
      #
      # If you are using mod_cache, it is recommended to use the RewriteRule below,
      # which adds the query string to the internal URL:
      #
      #   RewriteRule (.*\.html)$ index.php/$1 [L]
      #
      # Note that not all environments support mod_rewrite and mod_cache.
      ##
      RewriteCond %{REQUEST_FILENAME} !\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|otf|tt[cf]|woff2?|svgz?|pdf|gz)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule .*\.html$ index.php [L]
    
      ##
      # The following rules are required if you want to pass the language as first
      # URL parameter (added in Contao 2.11). The first rule rewrites the empty URL
      # to the front end controller, the second one adds a missing trailing slash.
      ##
      RewriteRule ^[a-z]{2}(\-[A-Z]{2})?/$ index.php [L]
      RewriteRule ^([a-z]{2}(\-[A-Z]{2})?)$ $1/ [R=301,L]
    
      ErrorDocument 403 /index.php
      ErrorDocument 404 /index.php
    Ihr seht das meine htaccess etwas angepasst ist, da es anderweitig nicht möglich war das URL Rewrite ohne Suffix anzuschalten. Vielleicht hängt es damit mit der doppelten Zeile ( RewriteCond %{REQUEST_FILENAME} !-f) zusammen? Wenn ich diese ausschalte funktioniert das Rewrite nicht mehr.

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

    Standard

    Hm, das kann ja eigentlich gar nichts mit dem URL Rewriting zu tun haben, aus irgendeinem Grund wird bei dir "TL_FILES_URL" ausgegeben, statt die eigentliche TL_FILES_URL. Also so als ob die Konstante TL_FILES_URL nicht gesetzt worden wäre.

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Und außerdem müsste es beim Pfad zum assets Bereich von Contao (u.a. Image Cache) auch TL_ASSETS_URL heißen, das TL_FILES_URL zeigt ja zum /files Verzeichnis. Da liegen vielleicht die Originale der Bilder aber nicht die im Cache.

    Prüfe doch mal was du zu stehen hast bei:
    * Für Frontend: Seitenstruktur -> Edit beim Startpunkt einer Webseite -> DNS-Einstellungen -> Datei-URL und Assets-URL
    * Für Backend: System -> Einstellungen -> Backend Einstellungen -> Datei-URL und Assets-URL

    Fürs Frontend wäre bei dir zu prüfen, habe aber mal beide Möglichkeiten erwähnt, könnte ja in beiden etwas seltsames drinstehen.
    Geändert von BugBuster (26.06.2015 um 14:36 Uhr)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Nachdem ich die htaccess wieder auf Standardwerte gebracht habe, funktioniert das Bannermodul wieder.

    Asset- und Datei URL sind beide leer, auch in der Seitenstruktur.

    Wie bringt ihr das Bannermodul mit deaktivierter html-Suffix über htaccess zum laufen?

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

    Support Contao

    Standard

    Zitat Zitat von Grossvater Beitrag anzeigen
    Wie sieht meine htaccess aus?

    Ihr seht das meine htaccess etwas angepasst ist, da es anderweitig nicht möglich war das URL Rewrite ohne Suffix anzuschalten. Vielleicht hängt es damit mit der doppelten Zeile ( RewriteCond %{REQUEST_FILENAME} !-f) zusammen? Wenn ich diese ausschalte funktioniert das Rewrite nicht mehr.
    Puh, keine Ahnung was dieses Mischmasch in deiner .htaccess aus den Requests macht, aber so wie unten sollte sie meiner Meinung nach aussehen. Du hattest oben zwischen den Kommentaren eine Umschreibung drin für "ohne Suffix" und unten dann noch mal eine für ".html".

    Code:
     ##
      # By default, Contao adds ".html" to the generated URLs to simulate static
      # HTML documents. If you change the URL suffix in the back end settings, make
      # sure to change it here accordingly!
      #
      #   RewriteRule .*\.html$ index.php [L]   # URL suffix .html
      #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt
      #   RewriteRule .*\.json$ index.php [L]   # URL suffix .json
      #
      # If you do not want to use an URL suffix at all, you have to add a third
      # line to prevent URLs that point to folders from being rewritten (see #4031).
      #
      #
      # If you are using mod_cache, it is recommended to use the RewriteRule below,
      # which adds the query string to the internal URL:
      #
      #   RewriteRule (.*\.html)$ index.php/$1 [L]
      #
      # Note that not all environments support mod_rewrite and mod_cache.
      ##
      RewriteCond %{REQUEST_FILENAME} !\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|otf|tt[cf]|woff2?|svgz?|pdf|gz)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d  
      RewriteRule .* index.php [L]
    
      ##
      # The following rules are required if you want to pass the language as first
      # URL parameter (added in Contao 2.11). The first rule rewrites the empty URL
      # to the front end controller, the second one adds a missing trailing slash.
      ##
      RewriteRule ^[a-z]{2}(\-[A-Z]{2})?/$ index.php [L]
      RewriteRule ^([a-z]{2}(\-[A-Z]{2})?)$ $1/ [R=301,L]
    
      ErrorDocument 403 /index.php
      ErrorDocument 404 /index.php

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Grossvater Beitrag anzeigen
    Wie bringt ihr das Bannermodul mit deaktivierter html-Suffix über htaccess zum laufen?
    Solch Installationen habe ich nicht.
    Anderseits lasse ich mir die Links zu den Bannern vom Framework generieren, ich habe also gar keinen Einfluss darauf.
    Jedenfalls wüsste ich jetzt nicht wie.

    Kann das Problem jemand bestätigen? Dann würde ich mir auch mal so eine Installation einrichten um zu schauen was da schief läuft.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

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

    Support Contao

    Standard

    Naja, wenn auch keiner eine Idee hat wie und warum, jedenfalls ist die .htaccess das Problem. So wie er die drinhatte, könnten durchaus auch Verzeichnisse umgeschrieben bzw an die index.php übergeben werden. Und was das dann bewirkt,... keine Ahnung. Ich kann mir auch nicht konkret vorstellen, woher die Konstanten im Pfad kommen. Aber vielleicht kommen sie genau da her. Soll er erst mal mit einer vernünftigen .htacesss testen, dann sieht man weiter.

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

    Standard

    Die .htaccess sollte aber keinen Einfluss darauf haben, dass eine PHP Konstante nicht definiert wird.

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

    Support Contao

    Standard

    Stimmt natürlich. Aber offenbar hat sie Einfluss. Sonst dürfte es ja mit der Standardeinstellung auch nicht funktionieren. Oder es ist der leere Suffix, der im Backend eingestellt wird. Also dass Contao damit immer noch nicht komplett richtig umgeht. Vielleicht ist es ja ein Folgefehler von irgendwas, das von dieser konkreten .htaccess (die definitiv zumindest problematisch sein könnte) ausgelöst wird.

  10. #10
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Seltsam ist auch, wenn man den Cache aktiviert und eine Systemwartung durchführt funktioniert die Seite wieder. Jedoch nur so lange wie man den Cachezeit festgelegt hat. Wird ein neuer Eintrag erstellt werden die Bildlinks wieder zerschossen.

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

    Standard

    Und es steht wieder "TL_FILES_URL" in der URL der Bilder?

  12. #12
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Richtig. So hier:
    Code:
    http://www.xxxxxxxxx.de/TL_FILES_URLassets/images/d/MDR%20Sachsen-Anhalt_RGB-cc9505ad.jpg

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

    Standard

    Immer noch sehr mysteriös. Müsste man evt. mal direkt am Server debuggen.

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

    Support Contao

    Standard

    Ist denn die .htaccess mittlerweile auf die empfohlene Standardeinstellung für "kein Suffix" umgestellt, oder ist immer noch die ursprüngliche im Einsatz?

  15. #15
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Habe die htaccess jetzt wieder hergestellt... url Suffix ist standardmäßig .html drin.

    Funktioniert immernoch nicht,... kann ich das nicht quick and dirty erstmal im Modul selbst ändern?

    Interessant ist, dass wenn ich die Systemwartung durchführe und den Seitencache lösche, der Safari durch seine interne Cache Verwaltung die Url richtig darstellt, während Chrome und Firefox es bei erstmaligen öffnen der Seite die URL falsch darstellt. Egal, wie oft ich den Seitencache neu aufbauen lasse.
    Geändert von Grossvater (09.07.2015 um 08:34 Uhr)

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

    Standard

    Wie gesagt, man müsste das mal direkt am Server debuggen. In der Extension selbst wird TL_FILES_URL eigentlich nicht verwendet (und es sollte ja wenn überhaupt TL_ASSETS_URL sein).

  17. #17
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Haste mal ein Link zu der Seite? So kommen wir nicht weiter.
    Und wie gesagt, im Banner Modul verwende ich die Konstanten nicht, die Links zu den Bilder werden generiert durch das Contao Framework.
    Daher müsste es auch an anderen Stellen Probleme geben, wo nicht direkt mit den Bildern aus /files gearbeitet wird, sondern mit umgerechneten aus dem Cache. (Galerie, ..)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  18. #18
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Habe den Fehler gefunden, in der eigenen php.ini !
    Dort war der Pfad für "session.save_path" falsch gesetzt, weswegen auch die error.log recht groß wurde. Lohnt sich da öfters mal rein zuschauen.

    Ich habe den Pfad angepasst, die Sessions liegen nun in system/tmp, der Pfad musste dazu absolut angegeben werden.

    Warum aber die Konstante da rein rutscht wenn man die Session nicht anlegen kann, dass muss wohl tief im Core versteckt sein.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  19. #19
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    offensichtlich war es das wohl doch nicht allein, es tritt wieder auf.
    Durch eigene Debug Logs konnte ich es eingrenzen, das der Aufruf von \Picture::create(..) mit gültigem Pfad diesen falschen asset Pfad mit TL_FILES_URL vorweg zurückbringt.

    D.h., es ist ein Core Problem. Ausgelöst durch was auch immer. Mal shen ob ich mich da reinsteigere um das zu finden.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  20. #20
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Ich bin da einer Sache auf der Spur. @Entwickler: schaut mal kurz: https://community.contao.org/de/show...480#post376480

    Aus irgendeinem Grund kommt es vor, das die Konstante ab und zu nicht definiert ist. Das könnte ich beheben indem ich selber ein \Controller::setStaticUrls() Aufruf mache, vor der Abfrage der Bilder.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

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

    Standard

    Ich denke dann weiß ich das Problem: Contao führt \Controller::setStaticUrls() für das Frontend erst in PageRegular aus: https://github.com/contao/core/blob/...egular.php#L36
    Deine Banner werden aber per {{cache_banner_tag::…}} Insert Tag erzeugt - also sie werden immer dynamisch erzeugt, auch wenn die Seite aus dem Cache kommt. Somit sind aber diese Konstanten nicht gesetzt, wenn die Seite aus dem Cache kommt.

  22. #22
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Wie schon im anderem Thread, es kommt eine neue Version vom Banner Modul. Auf der Seite vom Threadersteller habe ich das gepatcht. Es scheint zu funktionieren.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  23. #23
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Habe das mal als Bug in Contao gemeldet, Contao müsste ja dafür sorgen, dass seine eigenen Klassen und Methoden alles haben was diese benötigen.
    https://github.com/contao/core/issues/7914
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  24. #24
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Irgendwie seltsam, ich bekomme das einfach nicht nachgestellt lokal, obwohl es ja sichergestellt ist das die Konstante nicht definiert sein kann.
    Bei mir ist die Konstante definiert, ich bekomme nur nicht raus wodurch. :-(
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  25. #25
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Das wird immer verrückter. Meine eigene Erweiterung, da die ja von Frontend erbt, sorgt durch die Vererbung dafür, dass die Konstanten gesetzt werden.
    Jetzt stellt sich die Frage, warum das bei der Installation von @Grossvater nicht der Fall ist.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  26. #26
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Ticket wurde von Leo akzeptiert, mit Contao 3.5.1 kommt ein Fix.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

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

    Support Contao

    Standard

    Dann muss ja jetzt nur noch 3.5.1 kommen

  28. #28
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Wer nicht warten will, das Problem besteht übrigens auch bei 3.4.x Installationen, der nimmt die neue Banner Version 3.5.3 die gerade online ging.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  29. #29
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Lokal hat es nie Probleme gegeben.
    Ansonsten wüsste ich nicht was irgendwie zwischen drin einmal verkehrt lief.

  30. #30
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.494
    User beschenken
    Wunschliste

    Standard

    Lustig, ich konnte es mittlerweile lokal nachstellen (nachdem ich internen Cache umgehen abgeschaltet habe). Sobald der interne Cache neu aufgebaut wurde, waren die Banner weg.
    Das verrückte dabei, wenn ich die Cache Datei system/cache/sql/tl_files.php löschte, waren die Banner wieder da.

    Hat eigentlich damit überhaupt nichts zu tun. Laut Debugging wurden die Konstanten sogar definiert, aber irgendwie nicht global.
    Naja, was solls. Workaround ist draußen. Und von Contao sollte auch noch ein Fix kommen, allerdings dann nur für die 3.5., nicht für 3.4.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  31. #31
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Danke BugBuster. Habe das Update schon eingespielt

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
  •