Wordpress - 在url中重写或隐藏wp-json

时间:2016-08-17 11:02:07

标签: php wordpress .htaccess api url-rewriting

我想隐藏/wp-json/来自网址,因为我不想让任何人知道网站是建立在wordpress上的。我尝试在.htaccess重写规则,但/api只重定向到/wp-json,所以这不是我真正想要的。

RewriteRule ^api/(.*)$ /wp-json/$1 [R,L]

这些根本不起作用:

RewriteRule ^api$ /wp-json [L]
RewriteRule ^api/(.*)$ /wp-json/$1 [L]

我也尝试过site_url钩子事件,但不幸的是它根本不起作用:

add_filter('site_url', 'api_filter', 10, 3);
function api_filter($url, $path, $orig_scheme) {
    $old  = array('/(wp-json)/');
    $new  = array('api');
    return preg_replace($old, $new, $url, 1);
}

1 个答案:

答案 0 :(得分:4)

您可以使用过滤器rest_url_prefix进行重写:

add_filter( 'rest_url_prefix', function() {
    return 'api';
});

请记住在将以上代码添加到functions.php之后访问Settings->固定链接以刷新永久链接