Imageprocessing "on the fly" aktivieren

Thema wurde von sparhai, 21. Juli 2016 erstellt.

  1. sparhai
    sparhai Mitglied
    Registriert seit:
    23. Juni 2014
    Beiträge:
    12
    Danke erhalten:
    0
    Danke vergeben:
    4
    Hallo,

    ich habe unseren Testshop auf v3.1.1.0 aktualisiert.

    In der Installationsbeschreibung steht, "Um die Funktion Imageprocessing on the fly nutzen zu können, muss die Datei .htaccess im Ordner images ersetzt werden."

    Mit welcher .htaccess Datei muss den die Datei im Ornder images ersetzt werden? Es steht nur, dass die Datei ersetzt werden muss, aber nicht mit welcher?

    Testshop: v3.1.1.0
     
  2. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Die ist eigentlich schon im Shop drin, in den Updates, dann gibt es nichts zu tun. Manche Leute übernehmen die nur nicht, weil sie meinen selbst noch bessere Regelsätze aufstellen zu können, denen soll der Hinweis dienen. Wenn du die korrekte htaccess Datei im Ordner images/product_images hast, findest du darin folgenden Schnippel:

    Code:
    RewriteCond %{REQUEST_FILENAME} ".*/images/product_images/.*"
    RewriteCond %{REQUEST_FILENAME} !-s
    RewriteRule (\.jpe?g|\.gif|\.png)$ ../../shop.php?do=ImageRequest&requested_image=%{REQUEST_URI} [L]
     
  3. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Also ich habe eine frische Installation der Version 3.1.1.0 Beta 2
    und das ist der Inhalt der images/ .htaccess:
    Code:
    # -----------------------------------------------------------------------------
    # ETags                                                             
    # -----------------------------------------------------------------------------
    
    <IfModule mod_headers.c>
        Header unset ETag
    </IfModule>
    
    # `FileETag None` doesn't work in all cases.
    FileETag None
    
    # -----------------------------------------------------------------------------
    # Caching                                                           
    # -----------------------------------------------------------------------------
    
    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access plus 2 weeks"
       
        # Favicon (cannot be renamed!) and cursor images
        ExpiresByType image/vnd.microsoft.icon "access plus 1 month"
        ExpiresByType image/x-icon "access plus 1 month"
       
        # Media files
        ExpiresByType audio/ogg "access plus 2 weeks"
        ExpiresByType image/bmp "access plus 2 weeks"
        ExpiresByType image/gif "access plus 2 weeks"
        ExpiresByType image/jpeg "access plus 2 weeks"
        ExpiresByType image/png "access plus 2 weeks"
        ExpiresByType image/svg+xml "access plus 2 weeks"
        ExpiresByType image/webp "access plus 2 weeks"
        ExpiresByType video/mp4 "access plus 2 weeks"
        ExpiresByType video/ogg "access plus 2 weeks"
        ExpiresByType video/webm "access plus 2 weeks"
    </IfModule>
    und in den Update-Paketen habe ich in images keine .htaccees gesehen.
     
  4. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    images/product_images/.htaccess

    nicht

    images/.htaccess
     
  5. hartwigbusse
    hartwigbusse Erfahrener Benutzer
    Registriert seit:
    10. Dezember 2014
    Beiträge:
    1.229
    Danke erhalten:
    278
    Danke vergeben:
    442
    @barbara in der images/produkt_images ist die htaccess drin wie Wilken beschrieben.
    Upps Wilken war schneller..
     
  6. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Na dann ist die Installations-Anleitung (SP 3.1.1.0) falsch
    Unbenannt.JPG

    Nachtrag,
    wenn ich Wilkens Post richtig gelesen hätte....
     
  7. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Oh, die Anleitung hat da wirklich einen Bug. Wird korrigiert.
     
  8. Walter Lenk
    Walter Lenk Erfahrener Benutzer
    Registriert seit:
    28. September 2011
    Beiträge:
    623
    Danke erhalten:
    300
    Danke vergeben:
    113
    Ich greife dieses Thema mal auf. Hatte soeben einen Gambio GX3 v3.6.0.2 dort funktionierte die onthefly-Generierung nicht.

    Es fehlte die besagt .htaccess-Datei! Ich habe mir daraufhin das Original-Download-Paket angesehen, keine .htaccess-Datei im Pfad \images\product_images\ zu sehen.

    Weitere Versionen die ich geprüft habe bei denen die .htaccess dort auch fehlt:
    • Gambio GX3 v3.5.3.0
    • Gambio GX3 v3.7.1.2 (Full)
    • Gambio GX3 v3.8.2.1 (Stable)
    • Gambio GX3 v3.9.2.0 (Full)
    In der Gambio GX3 v3.4.3.0 ist die .htaccess-Datei noch vorhanden.

    Hat sich da an der Logik ab 3.5 was geändert? Ist dort die onthefly-Generierung nicht mehr im Standard aktiviert und muss wo aktiviert werden? Ein wenig habe ich schon gesucht, finde aber auf die Schnelle nichts.

    Danke!
     
  9. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Die Logik hat sich nicht verändert, allerdings der Aufruf. Das ist nicht mehr im product_images Ordner, sondern in der htaccess Datei im Hauptverzeichnis. Wir haben das alles mal nach Möglichkeit an einem Ort zusammengezogen, sowohl aus Aufräum- als auch aus Optimerungsgründen. Die Datei ist relativ gut kommentiert, man findet das dadrin auch.
     
  10. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Ich würde wenns nicht klappt übrigens folgendes als erstes anschauen:

    In der Serverinfo schauen ob die htaccess evaluiert wird und die Apache Module da sind, wenn ja sieht normal Kontrollvariablen von uns.

    Screenshot-2018-4-10 Gambio Admin.png

    Schauen ob ein Frontendproxy davor ist wie ein Nginx für statische Inhalte. Das ist bei Plesk zum Beispiel im Standard so. Wenn der die Bilder direkt liefert und die Regel damit nie zur Anwendung kommt, weil der Apache und Shop gar nix mitkriegt,
    dann werden die auch nicht erzeugt. Dann müssen entweder wenigestens die Bilder vom Apache geserved werden, oder man muss dem Nginx den Rewrite näherbringen, je nach Möglichkeit. Schnellster "Hack" ist dann üblicherweise den Nginx per Checkbox aus der Kette zu entsorgen, so kommt man erstmal zu was.
     
  11. Walter Lenk
    Walter Lenk Erfahrener Benutzer
    Registriert seit:
    28. September 2011
    Beiträge:
    623
    Danke erhalten:
    300
    Danke vergeben:
    113
    Danke Wilken! Ich werde mir einen Überblick verschaffen warum das bei dem Projekt entweder in der .htaccess-Datei im root nicht enthalten war oder wenn es enthalten war warum es nicht funktioniert.

    Mit der gesonderten Datei unter images/product_images/ klappt es auf jeden Fall, somit ist serverseitig alles ok!
     
  12. Walter Lenk
    Walter Lenk Erfahrener Benutzer
    Registriert seit:
    28. September 2011
    Beiträge:
    623
    Danke erhalten:
    300
    Danke vergeben:
    113
    Update:

    In der .taccess-Datei im root war folgendes Schnipsel enthalten:

    Code:
            ## if request destination is a product image and size not bigger than 0 try to create the sized image
            RewriteCond %{REQUEST_FILENAME} ".*?\/images\/product_images\/.*\.(?:gif|jpe?g|png)$"
            RewriteCond %{REQUEST_FILENAME} !-s
            RewriteRule (\.gif|\.jpe?g|\.png)$ %{ENV:BASE}shop.php?do=ImageRequest [L,NC]
    In der Datei aus der 3.4er Version welche noch unter images/product_images/ lag war folgender Code enthalten:

    Code:
                    RewriteCond %{REQUEST_FILENAME} ".*/images/product_images/.*"
                    RewriteCond %{REQUEST_FILENAME} !-s
                    RewriteRule (\.jpe?g|\.gif|\.png)$ ../../shop.php?do=ImageRequest&requested_image=%{REQUEST_URI} [L,NC]
    Evtl. funktioniert obiger neuer auf diesem Server bei der Konstellation auch nur nicht. Wenn ich etwas Zeit dazu habe sehe ich mir das nochmals genauer an.

    Danke erst mal!
     
  13. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Du könntest zum Beispiel mal die Variable ENV:BASE fest einsetzen, das ist nichts anderes als die dynamisch ermittelte RewriteBase. Vielleicht füllt der Server die nicht richtig. Check ausserdem, dass der ImageRequestController aktuell und nicht überladen ist, früher haben wir den Bildnamen als Parameter übergeben, inzwischen holen wir den aus der URI, das behob einige Probleme mit Pfadangaben und Sonderzeichen. Wenn man da nichts findet, würde im im Controller mal die URI ausgeben lassen, um zu schauen ob die heil ankommt.
     
  14. Walter Lenk
    Walter Lenk Erfahrener Benutzer
    Registriert seit:
    28. September 2011
    Beiträge:
    623
    Danke erhalten:
    300
    Danke vergeben:
    113
    Danke Wilken!
    Die Ursache war keine der beiden Ideen. Eine unserer zusätzlich integrierten Regeln haben die onthefly-Generierung "gestört". Wir haben da nun nochmals nachoptimiert und nun passt es.

    Zumindest bin ich da nun mal in die Tiefe gegangen - was sonst ja nie notwendig war da es einfach funktioniert hat bei anderen Projekten. ;-)

    Danke für Deine Mühen!