If we try to access a non-existant Multisite site, e.g., http://site1.example.com
or http://example.com/site1/
, we are redirected to http://example.com/wp-signup.php?new=site1
.
How to block this and redirect the browser to another page?
2 s
[Update]
An alternative (maybe better) is to use the following constant in wp-config.php
:
define( 'NOBLOGREDIRECT', 'http://example.com' );
At the very beginning of wp-signup.php
file there is this code:
function do_signup_header() {
do_action( 'signup_header' );
}
add_action( 'wp_head', 'do_signup_header' );
So, it’s just a matter of adding the signup_header
action hook to break any further execution and redirect the browser to other URL.
Here, wrapped as a Must Use Plugin:
<?php
/*
Plugin Name: Multisite - Prevent Sign-up Page
Plugin Url: http://wordpress.stackexchange.com/q/85529/12615
Version: 1.0
Author: Rodolfo Buaiz
*/
add_action( 'signup_header', 'rbz_prevent_multisite_signup' );
function rbz_prevent_multisite_signup()
{
wp_redirect( site_url() );
die();
}