在多站点WordPress中将主站点重定向到子站点

时间:2012-09-24 作者:Toqeer

我有多站点wordpress,我想将主站点重定向到其中一个子站点,但重定向在中。htacecss给出错误。有没有办法将主站点重定向到其子站点。这看起来不可能,但我不是wordpress专家,所以只是验证一下。

重定向应如下所示

重定向301 www.example。com/main-site www.example。com/主站点/子站点

或者是否有其他方法可以做到这一点?

4 个回复
最合适的回答,由SO网友:Brian Fegter 整理而成

您可以使用parse_request 为此采取的行动。只需在您的主要博客上启用此插件即可。将以下代码放入。php文件并将其上载到插件目录。

/*
Plugin Name: Redirect Main Site To Sub-Site
Description: Redirect \'main-site\' to \'main-site/sub-site/\'
Version: 0.1
Author: WPSE
Author URI: http://wordpress.stackexchange.com
License: GPL2
*/

add_action(\'parse_request\', \'redirect_to_sub_site\');
function redirect_to_sub_site(){
    global $wp;

    #Sniff requests for a specific slug
    if(\'main-site\' === $wp->request){

        #The URL to redirect TO
        $url = \'http://www.example.com/main-site/sub-site/\';

        #Let WordPress handle the redirect - the second parameter is obviously the status
        wp_redirect($url, 301);

        #It\'s important to exit, otherwise wp_redirect won\'t work properly
        exit;
    }
}
如果你有任何问题,请告诉我。

SO网友:Maor Barazany

看来$wp->request 上述回复中建议的始终是空字符串(在WPMS 4.5.2中),因此您可以根据is_main_site();.

SO网友:sharulhafiz

接受的答案不适用于Wordpress 4.9.8。下面是更新和测试的代码。将此放在函数内部。活动主题的php。

<?php
function wpse66115_redirect_to_sub_site() {
  if ( is_main_site() ) {
    exit( wp_redirect( \'http://www.example.com/main-site/sub-site/\', 301 ) );
  }
}
add_action( \'parse_request\', \'wpse66115_redirect_to_sub_site\' );
?>

SO网友:stda

更新和测试的代码在5.3中都不起作用。我通过改变找到了解决办法。htaccess:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.olddomain.com$
  RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
</IfModule>

结束

相关推荐

Redirect away from login page

我试图找到一种方法,防止用户在填写登录表单时出错,出现登录屏幕。现在,我在自定义模板上打印了登录表单。但如果用户填写错误,它会将他们重定向到wordpress表单重试。我想改变方向。这是我的代码,但它不起作用。add_action(\'login_form\', \'redirect_invalid_login\'); function redirect_invalid_login(){ global $error; if($error)