如何强制(子域名)多站点使用https创建新的子网站?

时间:2018-03-23 20:17:46

标签: wordpress multisite

有没有人知道在创建新的子网站时如何强制子域多站点保留URL架构(特别是https)?

默认情况下,它使用“http://”创建带有“siteurl”和“home”选项网址的子网站。

ms-functions.php中有几行明确告诉子网站 NOT 使用架构,所以我想知道在没有修改源的情况下改变它的最佳方法是什么。谢谢!

2 个答案:

答案 0 :(得分:0)

执行此操作的典型方法是在安装的.htaccess文件中添加以下内容:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

或使用其中一种“强制SSL”类型插件和网络激活它。

就个人而言,我是 Really Simple SSL 的粉丝。

如果你正在使用像域映射这样的插件,你也可以在其中指定HTTPS。

答案 1 :(得分:0)

我们使用Multisite Clone Duplicator plugin,我能够编写一个在克隆过程中挂钩到插件的函数,避免触及核心代码。

if ( ! function_exists( 'mucd_after_copy_data' ) ) {
function force_https($from_site_id, $to_site_id) {
        $site_url = get_site_url($to_site_id);
        $https_site_url = str_replace( 'http://', 'https://', $site_url );
        update_blog_option( $to_site_id, 'siteurl', $https_site_url );
        update_blog_option( $to_site_id, 'home', $https_site_url );
    }
    add_action('mucd_after_copy_data', 'force_https', 10, 2 );
}