0

如何将 wp-admin 页面限制为子域?我们在 WordPress 网站中有多个域,我需要重定向subdomain.websitename.php/wp-admin/到 404 页面。

为此,我使用了这段代码,但它没有重定向。

# wp-admin 404 for subdomains

RewriteCond %{HTTP_HOST} !^(www\.)?websitename.com/wp-admin/$ [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.websitename.com/wp-admin/$ [NC]
RewriteRule ^$ /%1.htm [L]
4

1 回答 1

0

创建一个必须使用的插件,我们将在其中连接admin_head并检查特定用户(我相信至少一个人应该能够管理这些站点,对吗?)以及它是否是子站点。

如果条件不满足,进行重定向:

<?php
/**
 * Plugin Name: Block Access to Sub-sites WP-Admin
 * Plugin URI: http://stackoverflow.com/q/16363207/1287812
 * Version: 1.0
 * Author: Rodolfo Buaiz
 * Author URI: http://wordpress.stackexchange.com/users/12615/brasofilo
 */

add_action( 'admin_head', 'b5f_prevent_multisite_wp_admin' );

function b5f_prevent_multisite_wp_admin() 
{
    // Allow access only to one user, adjust the ID bellow
    $current_user = wp_get_current_user();  
    if ( 2 == $current_user->ID ) 
        return;

    // Allow access only to main site WP-Admin
    if( is_main_site() )
        return;

    // User not allowed and site is a sub-site
    // Redirect to front page of current site
    wp_redirect( site_url() );
    die();
}

检查功能文档site_url()network_site_url()调整重定向到特定页面(从子域或从主站点)。

于 2013-05-06T18:36:06.593 回答