mod_rewrite regex übereinstimmen, nur, wenn eine bestimmte Zeichenfolge NICHT vorhanden ist

Suchen durch meinen server-logs sehe ich, dass viele Seiten auf meiner Website anfordern favicon.ico, favicon.jpg, favicon.png usw in einer Vielzahl von verschiedenen Verzeichnissen.

Statt waten durch jede Seite, um zu versuchen, herauszufinden, wo jede falsche Anfrage kommt, Schreibe ich einige apache-redirect-Regeln zu ändern, eine Anfrage für eine url mit "favicon" Umleitung zu /favicon.ico

Meine erste naive Versuch war dieser:

RewriteRule favicon /favicon.ico [R=301,L]

Aber das bedeutete, dass, wenn Sie tatsächlich angefordert /favicon.ico es senden würde, der Sie in einen endlosen redirect-Schleife.

Im Grunde, was ich denke, brauche ich eine regex, die diese Wirkung haben:

| Request                | Response     |
|------------------------ | --------------|
| favicon.png            | /favicon.ico |
| directory/favicon.png  | /favicon.ico |
| directory/favicon.ico  | /favicon.ico |
| favicon.ico            | <no match>   |
InformationsquelleAutor nickf | 2009-02-05
Schreibe einen Kommentar