Das W3 Total Cache Plugin für Wordpress kann CSS und Javascript Dateien von Wordpress minimieren (“Minify”). Im W3T-Optionsdialog zu finden unter: Rewrite URL structure (If disabled, CSS and JS embeddings will use GET variables instead of “fancy” links.)
Damit dies aber in Kombination mit nginx funktioniert, benötigt man eine rewrite-Regel. Dazu einfach im server-Abschnitt eurer nginx Konfiguration folgende Zeile hinzufügen:
rewrite ^/my/blog/wp-content/w3tc/min/([a-f0-9]+)\/(.+)\.(include(\-(footer|body))?(-nb)?)\.[0-9]+\.(css|js)$ /my/blog/wp-content/w3tc/min/index.php?tt=$1&gg=$2&g=$3&t=$7 last;
Danach funktioniert auch die o.g. Option mit nginx (getestet mit WP 3.0.4 und nginx 0.9.3).
Hinweis: Ich habe für meinen statischen Content eine eigene VHost-Konfiguration im nginx. Da mein “minified” CSS und JS auch von diesem VHost ausgeliefert wird, ist die Regel auch in dieser VHost-Konfiguration hinzuzufügen und nicht in der Konfiguration für die Standard-Domain. Das übersieht man unter Umständen recht schnell und wundert sich, warum es nicht funktioniert.
Beobachtung: Erstaunlicherweise hat diese Option auch direkten Einfluss auf die URL von CDN-Dateien. So habe ich für meine CDN-Dateien “static.breiteseite.net” hinterlegt. Deaktiviere ich allerdings o.g. Option, so werden diese von “breiteseite.net” ausgeliefert. Mit aktivierter Option hingegen ist wieder alles schön.
Quelle: tutspundit.com