如何使用SSL强制WordPress的管理员/登录页面?

问题描述:

我有WordPress的子域名,如blog.my-site.com和不能使用SSL的子域(https:// blog.my-site.com)如何使用SSL强制WordPress的管理员/登录页面?

有没有办法强制WordPress管理员/登录页面仅限于SSL URL https:// www.my-site.com/blog_dir/wp-admin/(文件夹名称与子域不一样)

+0

问题是我不能得到与在SSL子域管理员,所以我必须使用域/文件夹名 – Happy 2013-04-08 22:04:35

感谢您的信息,大家

这里是为子域名的WordPress共享SSL插件: WordPress的HTTPS(SSL) http://wordpress.org/extend/plugins/wordpress-https/

+0

这个插件允许你在子域(blog.my-site.com)有一个博客并强制管理员使用来自URL的SSL www.my-site.com/www_blog/ – Happy 2013-08-19 21:24:10

+0

这个插件兼容高达3.5.2版本。 :-(当前wordpress版本是4.0.1 – JiP 2014-12-18 07:24:05

+0

谢谢!我一直在寻找它! – marverix 2016-11-03 19:54:06

我已经使用了这个

if($_SERVER["HTTPS"] != "on") 
{ 
    header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); 
    exit(); 
} 
+0

但它重定向到https:// blog.my-site.com比约抛出一个错误无效的SSL – Happy 2013-04-08 22:01:14

+0

那么你需要设置一个SSL证书。如果您还没有PHP,则无法使用它。这里有一篇很好的文章:http://www.htmlgoodies.com/beyond/security/article.php/3774876/Setting-Up-a-Secure-SSL-Connection.htm – 2013-04-08 22:06:42

+0

我有一个用于主域www.my- site.com所以只有使用SSL的方法是www.my-site.com/blog_dir/wp-admin/,但我将重定向到https:// blog.my-site.com/wp-admin/ – Happy 2013-04-08 22:18:02

中添加一个插件或其他地方在那里它包含在页面之前,这将重定向到登录界面,如果协议是HTTPS,如果用户尚未登录,如果该页面已经is'nt登录页面:

add_filter('parse_query', 'query_parser'); 

function query_parser() { 
    if(!is_user_logged_in() && $pagenow != 'wp-login.php' && $_SERVER['HTTPS'] == "on") { 
     wp_redirect(home_url() . '/wp-login.php', 302); 
     exit; 
    } 
} 

force administration and logins over SSL,正确的方法是设置FORCE_SSL_ADMIN常数wp-config.php

define('FORCE_SSL_ADMIN', true); 

如果WordPress的托管背后也会发生这种情况一个提供SSL的反向代理。

粘贴主题functions.php如下:

define('FORCE_SSL_ADMIN', true); 
// a comma-separated list e.g. http,https 
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) 
     $_SERVER['HTTPS']='on'; 

我有同样的问题

的问题是在我的前端登录功能默认

wp_signon($login_data, false); 

$ secure_cookie没有。

我将其设置为true,并且效果很好。

wp_signon($login_data, true);