将整个网站或页面重定向到WordPress中的/wp-admin

时间:2020-01-02 作者:tacker

我想将网站的每个页面重定向到/wp admin登录或不登录。我尝试了从谷歌获得的所有解决方案。

1 个回复
最合适的回答,由SO网友:Celso Bessa 整理而成

欢迎使用StackExchange。正如在@aravona和@Rup的评论中提到的,如果没有更多的上下文,就很难给你一个好的答案。

无论如何,我认为你有两种基本的方法来实现你想要的:使用WordPresstemplate_redirect hook 或htaccess规则。

性能最好的是htaccess,但它更容易重定向错误或破坏管理方面的内容。因此,我建议避免这种情况,并坚持template_redirect

使用模板重定向挂钩,您可以在主题、插件或Must-Use Plugin (即MU插件)。我建议使用插件,或者更好的是,使用MU插件called before normal plugins.

/**
 * Redirect All WordPress frontend requests to the /wp-admin/
 *
 * Redirect All WordPress frontend requests to /wp-admin/, except for WP Rest API endpoints.
 * Adapted from a idea by BraadMaring at https://github.com/BraadMartin/only-rest-api .
 *
 * @uses wp_safe_redirect
 * @uses admin_url
 */

function wpse355549_redirect() {
    if ( ! is_admin() ) {
        wp_safe_redirect( admin_url(), 301 );
        exit;
    }
} 

add_action( \'template_redirect\', \'wpse355549_redirect\', 10 );

基本上,这将检查请求是否为a/wp admin/URL。如果没有,它将安全地重定向到/wp管理员/

警告:某些与自定义程序相关的页面未被检测到is_admin. API端点也可以访问。

相关推荐