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.309
    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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.309
    Danke vergeben:
    2.208
    images/product_images/.htaccess

    nicht

    images/.htaccess
     
  5. hartwigbusse

    hartwigbusse Erfahrener Benutzer

    Registriert seit:
    10. Dezember 2014
    Beiträge:
    1.161
    Danke erhalten:
    254
    Danke vergeben:
    420
    @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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.309
    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:
    492
    Danke erhalten:
    210
    Danke vergeben:
    83
    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.309
    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.309
    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:
    492
    Danke erhalten:
    210
    Danke vergeben:
    83
    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:
    492
    Danke erhalten:
    210
    Danke vergeben:
    83
    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.309
    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:
    492
    Danke erhalten:
    210
    Danke vergeben:
    83
    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!