在我的WordPress网站中,我在子文件夹中使用了另一个WordPress,例如:https://www.mywpexample.com/wp-newsite
我已为我的网站完成了SSL,但突然显示控制台混合内容https未加载错误,并且未在网站https://www.mywpexample.com/wp-newsite
中加载任何资产( css / js / actions )。
我已尝试echo site_url()
返回http://www.mywpexample.com/wp-newsite
,但在数据库和wordpress常规设置中我已经:
WordPress地址(URL) - >
https://www.mywpexample.com/wp-newsite
网站地址(URL) - >
https://www.mywpexample.com/wp-newsite
在wp-config文件中:
define('WP_SITEURL', 'https://www.mywpexample.com/wp-newsite' );
define('WP_HOME', 'https://www.mywpexample.com/wp-newsite' );
define('ABSOLUTE_URL', 'www.mywpexample.com/wp-newsite');
如果尝试添加SSL选项,例如wp-config:
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL', true)
define('FORCE_SSL_LOGIN', true)
网站破坏后,浏览器显示TOO_MANY_REDIRECTS
的错误。
现在,我已经有了这个解决方案,用于前端替换所有的http - >到根index.php
<?php
ob_start();
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
//and these lines also
$output = ob_get_contents();
ob_end_clean();
$output = str_replace(array("https://", "http://"), "//", $output);
echo str_replace('http:\/\/', "\/\/", $output);
但需要一个更好的解决方案,适用于所有环境( wp-admin,wp-login和前端)。