禁用/删除多站点安装程序上的默认博客

时间:2013-10-23 作者:Jeemusu

我正在使用多站点WordPress安装来管理我们不同商店的多个博客,当前的设置如下所示:

http://mydomain.com/blogs/shop1/
http://mydomain.com/blogs/shop2/
http://mydomain.com/blogs/shop3/
...
http://mydomain.com/blogs/
设置WordPress时,我将基本url设置为/blogs/. 问题是默认站点也创建于/blogs/ 我们不需要,也不想删除。

我能做些什么来删除/禁用这个网站吗。我只是想确保公众不能访问它。抛出404或重定向到另一个页面将是理想的。

2 个回复
最合适的回答,由SO网友:Jeemusu 整理而成

A..htaccess 重定向并不能真正解决这个问题,因为它需要大量的规则来阻止访问默认站点各种有效的URL,例如:

http://mydomain.com/blogs/asdasd/
http://mydomain.com/blogs/whatever/
同时仍然允许访问URL,如:

http://mydomain.com/blogs/shop1/
http://mydomain.com/blogs/shop2/
我通过在主题中创建一个新函数来解决这个问题functions.php. 此函数通过分解博客路径并返回最后一段来获取当前博客uri字符串。

function getBlogName() {

    global $current_blog; 
    $blog_path = explode(\'/\',$current_blog->path); 

    if(isset($blog_path[2])) {
        return $blog_path[2];
    }
}
对于默认博客,它没有名称,因此没有最后一段,因此上述函数返回false。我检查上述函数是否返回false,然后相应地重定向。这可以放在主题的顶部header.php

if(!getBlogName()) {
    header("Location: http://www.mydomain.com/", true, 301);
}

SO网友:windyjonas

最好的解决方案是在web服务器中设置重定向。如果由于某种原因这是不可能的,您可以安装一个插件,如Simple 301 Redirects 管理来自默认博客的重定向。

结束

相关推荐

WordPress MultiSite(MU)子目录url/slug/permarink可以更改吗?

我目前正在与WordPress Multisite(MU)、BuddyPress和Commons in a Box(CBOX)合作,围绕一个中心用户群创建一个网站,该网站允许用户组成群组,并创建与其群组相关的“群组博客”。我在这个问题上发布了关于这个确切情况的进一步详细信息here.然而,我想问一个更一般的问题,关于WordPress多站点安装的性质,除了初始站点或网络主页。我的问题是,是否可以更改默认的子目录url结构/文件夹。例如,Multisite当前的默认设置为site。com/blog/sub-