老张小站

  1. 欢迎光临

    感谢访问老张的博客!

  • 1
35,442

Discuz X3.* 全站开启 SSL / HTTPS 后需解决的问题(2019/10/25更新)

分类 网站技术/村民张先生 发布于 2015-12-03 07:18
0

五、http:// 跳转至 https://

打开 source/class/class_core.php 文件,在

set_exception_handler(array('core', 'handleException'));

后面加入:

if($_SERVER['SERVER_PORT'] != '443' && $_SERVER['PHP_SELF'] != '/api/uc.php') {
	if(!preg_match("/(Zidingyi|Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", $_SERVER['HTTP_USER_AGENT'])) {
		header('HTTP/1.1 301 Moved Permanently');
		header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
		exit;
	} elseif(preg_match("/(Baidu|Google)/i", $_SERVER['HTTP_USER_AGENT'])) {
		header('HTTP/1.1 403 Forbidden');
		exit;
	}
}

说明:当访问端口不为443(即https)时,如果不是搜索引擎则跳转到https页面,否则如果是百度或Google蜘蛛(这两个搜索引擎已支持收录https)则返回403禁止访问,避免重复收录 http 和 https 或优先收录了 http ,其它搜索引擎未定义,正常返回 http 页面(其它搜索引擎可能不支持收录 https ,因此开放 http 给他们)。

以上代码中“Zidingyi”可以任意修改,管理员使用以下UA可以不跳转到https,便于对http版进行调测:
Mozilla/5.0 (compatible; Zidingyi/2015; +http://www.xxx.com)

分页: 1 2 3 4 5 6 上一页 下一页
欢迎转载分享,转载请注明 来源:大张小站 https://www.zhang.cq.cn/20151587.html
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。


欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截