insert_with_markers () WordPress & htaccess Hilfe

Ich versuche ein Plugin zu entwickeln, das der von WordPress generierten .htaccess-Datei eine Zeile hinzufügt.

Das Problem ist, dass eine der WP-generierten Zeilen meine Regel außer Kraft setzt, und über die function “insert_with_markers ()” habe ich keine Möglichkeit gefunden, eine Position anzugeben, so dass ich meine Zeile voranstellen kann, anstatt sie anzuhängen.

Die erste Zeile des Codes ist die automatisch generierte WordPress-Zeile, und die zweite Zeile ist diejenige, die ich gerne hätte.

RewriteRule . /dev/index.php [L] RewriteRule ^article/([/_0-9a-zA-Z-]+)$ http://www.domain.tld/?id=$1 [R=301,L,NC] 

So wie ich es sehe gibt es hier 2 Möglichkeiten:

A) Irgendwie spezifizieren Sie, wo die insert_with_markers () die neue Codezeile platziert, oder

B) Modifiziere meine RewriteRule um mit der von WordPress generierten zu arbeiten.

Ich hoffe, du kannst mir ein paar Schritte näher auf den richtigen Weg zeigen.

Vielen Dank!

Solutions Collecting From Web of "insert_with_markers () WordPress & htaccess Hilfe"

Ich würde eine alternative Route vorschlagen: die Rewrite-API – wussten Sie, dass sie externe URLs * unterstützt?

 function wpse_199898_add_htaccess_rule() { // No need for the caret "starts with", WP will add it add_rewrite_rule( 'article/([/_0-9a-zA-Z-]+)$', 'http://www.domain.tld/?id=$1 [R=301,L,NC]' ); } add_action( 'init', 'wpse_199898_add_htaccess_rule' ); 

*Fast. Wir brauchen nur einen Fix für WPs schrulligen Weg, der vorangeht:

 function wpse_199898_fix_htaccess_rule( $rules ) { return str_replace( '/http://www.domain.tld/', 'http://www.domain.tld/', $rules ); } add_filter( 'mod_rewrite_rules', 'wpse_199898_fix_htaccess_rule' ); 

Nachdem ich das Thema gelesen hatte, entschied ich mich, eine andere Route zu gehen und hakte mich in Filter ein, anstatt insert_with_markers () zu verwenden.