Sto cercando di creare un endpoint API personalizzato in WordPress e devo reindirizzare le richieste a una pagina virtuale nella radice di WordPress su una pagina effettiva fornita con il mio plug-in. Quindi, in pratica, tutte le richieste a una pagina vengono effettivamente instradate all'altra.
Esempio:
http://mysite.com/my-api.php
=>http://mysite.com/wp-content/plugins/my-plugin/my-api.php
Il punto è rendere l'URL dell'endpoint dell'API il più breve possibile (simile a http://mysite.com/xmlrpc.php
ma per spedire il file dell'endpoint dell'API effettivo con il plug-in anziché richiedere all'utente di spostare i file nella loro installazione e / o core di hacking .
Il mio primo colpo è stato quello di aggiungere una regola di riscrittura personalizzata. Tuttavia, questo ha avuto due problemi.
- L'endpoint ha sempre avuto una barra finale. Diventò
http://mysite.com/my-api.php/
- La mia regola di riscrittura è stata applicata solo parzialmente. Non reindirizzerebbe a
wp-content/plugins...
, reindirizzerebbe aindex.php&wp-content/plugins...
. Ciò ha portato WordPress a visualizzare un errore di pagina non trovata o semplicemente il default alla homepage.
Idee? Suggerimenti?