Serve Apache 404 für fehlende Assets statt Wp 404 Vorlage WP_Rewrites

Ich habe eine benutzerdefinierte 404-Seite, aber ich möchte sie nicht für jedes defekte Asset verwenden, das auftauchen könnte. Stattdessen möchte ich den Apache 404 einfach viel schneller bedienen. Ich habe die folgende htaccess-Regel gefunden, die das erreicht, was ich nachher habe:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule \.(jpg|jpeg|png|gif|ico|swf|bmp|js|css)$ - [nocase,redirect=404,last] 

Aber anstatt es manuell in die htaccess-Datei vor # BEGIN WordPress möchte ich die Regel programmatisch über das Thema hinzufügen, da ich mich auch um die API zum Umschreiben von WP bemüht habe. Meine aktuellen Regeln sind unten, wobei die entscheidende Zeile manuell zum Testen hinzugefügt wird:

 # BEGIN WordPress  RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^assets/css/(.*) /wp-content/themes/tr_roots_0.4.1/assets/css/$1 [QSA,L] RewriteRule ^assets/js/(.*) /wp-content/themes/tr_roots_0.4.1/assets/js/$1 [QSA,L] RewriteRule ^assets/img/(.*) /wp-content/themes/tr_roots_0.4.1/assets/img/$1 [QSA,L] RewriteRule ^plugins/(.*) /wp-content/plugins/$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule \.(jpg|jpeg|png|gif|ico|swf|bmp|js|css)$ - [nocase,redirect=404,last] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]  

Ich habe eine Menge Beispiele gesucht und versucht, dies zu erreichen , aber sie scheinen ungewöhnlich kompliziert und nicht direkt anwendbar. Könnte jemand einen Stich machen, um mich in die richtige Richtung zu bringen? Das ist es, was ich bisher gemacht habe:

 function tr_flush_rewrites() { global $wp_rewrite; $wp_rewrite->flush_rules(); } function tr_add_rewrites() { global $wp_rewrite; $tr_new_non_wp_rules = array( '\.(jpg|jpeg|png|gif|ico|swf|bmp)$' => 'nocase,redirect=404,last', ); $wp_rewrite->non_wp_rules = $tr_new_non_wp_rules + $wp_rewrite->non_wp_rules; } add_action('generate_rewrite_rules', 'tr_add_rewrites'); add_action('admin_init', 'tr_flush_rewrites'); 

Danke fürs schauen

Solutions Collecting From Web of "Serve Apache 404 für fehlende Assets statt Wp 404 Vorlage WP_Rewrites"

Diese sehr hilfreiche Seite ist leider auf dem Codex begraben :

Im Grunde genommen ist der mod_rewrite_rules-Haken der Trick.

 function faster_htaccess_rules( $rules ){ $faster_rules = < < 

Damit werden die gewünschten Regeln innerhalb des # Begin WordPress Blocks, aber außerhalb von vorangestellt / angefügt. Ich habe die function add_rewrite_rule() , aber Sie können die RewriteRule-Flags nicht ändern.