我使用多站点wordpress,昨天我从http更改为https。起初我有很多关于更新网址的问题。所以我研究并应用了一些方法,如 查询更改https直接在MySQL上,设置.htacess如下:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
还在functions.php上使用更新:
update_option('siteurl','https://www.//example.com');
update_option('home','https://www.example.com');
最后所有链接都运行良好。
但我在Netword管理菜单中遇到了一个问题
这是我的屏幕:
所有网站网址都很好(https://www。) http://imgur.com/7V0fr8r
但只有此菜单网址仅为https:// non-www http://imgur.com/TAxZmrS
如何修复网络管理员菜单以显示https://www。 ?
由于
答案 0 :(得分:0)
您的网站是MultiSite。网络管理菜单是其中的一部分。
您应该使用update_site_options全局更新网址
同样,请阅读following instruction,了解如何从HTTP切换到HTTPS
那里有一些亮点:
第一步是启用SSL进行管理。这很好 在Wordpress中记录,只需将以下语句添加到您的 WP-config.php中:
define('FORCE_SSL_ADMIN', true);
第二步是设置相对选项,设置和 常量以启用对隐私浏览的可选支持。
define('WP_SITE_URI',($_SERVER["HTTPS"]?"https://":"http://").$_SERVER["SERVER_NAME"]);
define('WP_SITEURI', ($_SERVER["HTTPS"]?"https://":"http://").$_SERVER["SERVER_NAME"]);
如果您愿意,可以抽出您的域名。这个例子假定 您的博客位于顶部目录中。在。添加一个子目录 如果你需要,请结束。然后在包含之前的某个地方 ' WP-设置'插入:
define("WP_CONTENT_URL", WP_SITE_URI . "/wp-content");
然后包含' wp-settings'添加:
wp_cache_set("siteurl_secure", "https://" . $_SERVER["SERVER_NAME"], "options");
wp_cache_set("home", WP_SITE_URI, "options");
wp_cache_set("siteurl", WP_SITE_URI, "options");
最后一项更改是作为插件实现的。
<?php
/* Plugin Name: Content over SSL
* Description: Re-write content URIs to use the appropriate protocol
* Author: Me
* Version: .1
*/
add_filter('the_content', 'my_ssl');
function my_ssl($content) {
if (isset($_SERVER["HTTPS"]))
$content = ereg_replace("http://" . $_SERVER["SERVER_NAME"], "https://" . $_SERVER["SERVER_NAME"], $content);
return $content;
}
?>