I’m customizing another plugin by changing the rewrite rule, from:
add_rewrite_rule('^api/auth/([0-9]+)?/?','index.php?__api=1&uid=$matches[1]','top');
to:
add_rewrite_rule('^api/auth/','index.php?__api=1','top');
After making the change (and not forgetting to refresh the permalinks) my endpoint fails to work. When I attempt something like:
file_get_contents("http://mydomain.com/api/auth/")
…instead of the json object that should be returned, I get the user login form.
What’s even weirder is that when I add an integer to the end like this:
file_get_contents("http://mydomain.com/api/auth/3")
…I get the json object that I expect! What’s going on here?
So I’ve solved this problem, but I’m still scratching my head about the “solution”:
This version of the rewrite rule works for some reason. I’m guessing that there’s some sort of namespace conflict that I accidentally stumbled across. Maybe
/auth/
is used somewhere else?