Message sent successfuly

Sending...

Blog

News, Tipps & Tricks.


Zend Framework, “clevere” Browser und Favicons

zend-framework-headermage_02

Fast alle modernen Browser haben die Angewohnheit automatisch nach einem Symbol für die Bookmarks zu suchen, das so genannte Favicon. An sich ein nettes Feature, wenn der Webseitenbesitzer den Speicherort dieses nicht im Quelltext seiner Seite angibt.

Problematisch wird dies jedoch, wenn die Webseite mit dem wohl beliebtesten PHP-Framework, dem Zend Framework, geschrieben wurde. Das Zend Framework liefer automatisch eine .htaccess-Datei mit, welche alle Aufrufe der Webseite behandelt und sofern keine physische Datei existiert die Anfrage an das Framework weiterleitet.

Da in der Regel keine “Action” namens favicon.ico existiert wird hier ein 404-Fehler produziert, welcher, wenn ein Logger existiert in den Errorlogs der Applikation landet. Da dies für unnötig große Logs sorgt, hier eine Lösung für das Problem.

In der .htaccess legen wir fest, dass die Anfrage das Framework nur dann erreicht, wenn die Datei nich physisch unterhalb des “public”-Verzeichnisses existiert oder der angefragte Dateiname nicht “favicon.ico” lautet.

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/favicon.ico$ [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

// |

Leave a Comment



Danny Bell - 2012