daily pastebin goal
4%
SHARE
TWEET

SVG zu PNG mit Cache über .htaccess

a guest Jan 26th, 2014 82 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #############################################################################
  2. # Die folgenden Zeilen überprüfen, ob es ein SVG auch als PNG gibt und ob der
  3. # eingesetzte Browser der Internet Explorer ist (IE>8 könnte zwar SVG, aber
  4. # da funktioniert dann die Größenberechnung nicht zuverlässig)
  5. # Falls gewünscht, kann die UserAgent-Abfrage natürlich angepasst werden
  6. #
  7. # Falls es kein PNG gibt, wird das SVG auf ein PHP-Skript umgeleitet,
  8. # welches dann mittels ImageMagick ein PNG generiert und dann ausgibt.
  9. #
  10. RewriteCond %{REQUEST_FILENAME} -f # Existiert das gewünschte SVG
  11. RewriteCond %{REQUEST_FILENAME}.png !-f # Existiert noch kein PNG für das SVG - Vorraussetzung: .png wird am Ende des Dateinamens des SVGs angehängt: beispiel.svg.png
  12. RewriteCond %{HTTP_USER_AGENT} "MSIE" [OR] # IE bis 10
  13. RewriteCond %{HTTP_USER_AGENT} "Trident" [OR] # IE 11
  14. RewriteCond %{HTTP_USER_AGENT} "Android 2." # Ältere Androiden können kein SVG
  15. RewriteRule ^([^?]*\.svg)(\?.*|)$ svg2png.php [L]
  16.  
  17. # Wenn wir hier sind, dann hat die vorige Condition nicht funktioniert,
  18. # demnach wurde bereits ein PNG aus dem SVG generiert.
  19. # Falls der Browser demnach ein IE ist, dann liefern wir das PNG aus
  20. #
  21. RewriteCond %{REQUEST_FILENAME}.png -f # PNG Datei existiert
  22. RewriteCond %{HTTP_USER_AGENT} "MSIE" [OR] # IE bis 10
  23. RewriteCond %{HTTP_USER_AGENT} "Trident" [OR] # IE 11
  24. RewriteCond %{HTTP_USER_AGENT} "Android 2."  # Ältere Androiden können kein SVG
  25. RewriteRule ^([^?]*\.svg)(\?.*|)$ %{REQUEST_FILENAME}.png [L] # Das PNG direkt ausliefern
  26.  
  27. #############################################################################
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top