J'essaie de créer un point de terminaison d'API personnalisé dans WordPress et je dois rediriger les demandes vers une page virtuelle située dans la racine de WordPress vers une page fournie avec mon plug-in. Donc, fondamentalement, toutes les demandes d’une page sont en réalité acheminées vers une autre page.
Exemple:
http://mysite.com/my-api.php
=>http://mysite.com/wp-content/plugins/my-plugin/my-api.php
Le but de ceci est de rendre l'URL du noeud final de l'API aussi courte que possible (comme pour http://mysite.com/xmlrpc.php
envoyer le fichier de noeud final de l'API avec le plug-in plutôt que d'exiger que l'utilisateur déplace les fichiers dans son installation et / ou pirate son noyau. .
Mon premier essai consistait à ajouter une règle de réécriture personnalisée. Cependant, cela a eu deux problèmes.
- Le point final a toujours eu un slash final. C'est devenu
http://mysite.com/my-api.php/
- Ma règle de réécriture n'était que partiellement appliquée. Il ne redirigerait pas vers
wp-content/plugins...
, il redirigerait versindex.php&wp-content/plugins...
. Cela a amené WordPress à afficher une erreur de page introuvable ou tout simplement à afficher par défaut la page d'accueil.
Des idées? Suggestions?