如何强制(子域)多站点使用 https 创建新的子站点?
How do I force (subdomain) multisite to create new subsites with https?
有谁知道如何在创建新子站点时强制子域多站点保留 URL 架构(特别是 https)?
默认情况下,它会使用 "siteurl" 和 "home" 选项 url 和 "http://".
创建子站点
ms-functions.php 中有几行明确告诉子站点 NOT 使用架构,所以我想知道最好的更改方法是什么修改源。谢谢!
执行此操作的典型方法是将如下内容添加到安装的 .htaccess
文件中:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
或者使用 "Force SSL" 类型的插件之一并通过网络激活它。
就个人而言,我是 Really Simple SSL 的粉丝。
如果您使用域映射等插件,您也可以在其中指定 HTTPS。
我们使用 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 );
}
有谁知道如何在创建新子站点时强制子域多站点保留 URL 架构(特别是 https)?
默认情况下,它会使用 "siteurl" 和 "home" 选项 url 和 "http://".
创建子站点ms-functions.php 中有几行明确告诉子站点 NOT 使用架构,所以我想知道最好的更改方法是什么修改源。谢谢!
执行此操作的典型方法是将如下内容添加到安装的 .htaccess
文件中:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
或者使用 "Force SSL" 类型的插件之一并通过网络激活它。
就个人而言,我是 Really Simple SSL 的粉丝。
如果您使用域映射等插件,您也可以在其中指定 HTTPS。
我们使用 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 );
}