web-dev-qa-db-fra.com

add_rewrite_rule ne s'enregistre pas sur Multisite

J'ai une installation multisite de WordPress. J'ai installé le plugin Monkeyman Rewrite Analyzer afin de voir toutes les règles que j'ai enregistrées. Le code ci-dessous indique comment j'enregistre la règle:

 add_action( 'init', 'add_init_rules' );

 function add_init_rules() {
     add_rewrite_rule('^car/([^/]*)/([^/]*)/?','index.php?pagename=car&id=$matches[1]&make=$matches[2]','top');
 }

La règle que j'ai ajoutée n'apparaît pas dans la liste de Monkeyman Rewrite Analyzer et ne semble pas faire de différence pour le site lorsque vous essayez de visiter mysite.com/32423/testmake.

Aucune suggestion?

2
Alex

Avez-vous effacé les règles après avoir créé ce code?

Visitez l'écran Paramètres-> Permaliens. Cela provoquera un flush de règle. Ensuite, vérifiez si votre nouvelle règle apparaît.

0
Otto

La règle que vous avez ajoutée est une "règle non wp", c'est-à-dire une règle ajoutée à htaccess. Malheureusement, avec le multisite, ces règles sont complètement ignorées et ne sont pas écrites sur votre htaccess. WordPress utilise des règles htaccess codées en dur lorsque le multisite est activé. J'ai moi-même eu du mal avec cela et je n'ai pas encore trouvé de solution (sauf l'édition directe de htaccess).

0
Björn