【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程

到底HTTPS是什么?

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。

HTTPS和HTTP的核心区别是什么

http是超文本传输协议,是明文传输;而https 则是具有安全性的ssl加密传输协议。

wordpress网站的HTTPS证书该如何选择?

这里给大家推荐使用阿里云服务器申请CA_SSL数字证书。

wordpress网站在改造HTTPS时遇到的常见问题

这些问题通常都是wordpress主题出现的问题,所以解决方法也就是在主题文件中做调整和修复即可,以下将自己在全站https化wordpress时遇到的问题及解决方面罗列出来希望对大家有帮助,有其它的问题也可以联系大家一起沟通。

wordpress全局HTTPS后,主题内引用http路径的js和css失效

我们在wordpress主题文件夹内找到functions.php ,添加如下代码,即可自动将http转为https

//开启https加载js和css
// wordpress强制跳转https后,JS/CSS不加载的解决方案
add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2);
function agnostic_script_loader_src($src, $handle) {
    return preg_replace('/^(http|https):/', '', $src);
}
add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2);
function agnostic_style_loader_src($src, $handle) {
    return preg_replace('/^(http|https):/', '', $src);
}

接着如果我们使用上面的转为方式后,发现网站后台不能打开;我们需要找到wordpress程序根目录中的wp-config.php文件,底在文件底部加入以下代码:

/* wordpress后台编辑网站地址http改成https后,后台进不去解决办法。 
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

wordpress全站https化,文章内容中的百度分享代码出错;

虽说百度要大力支持https,但是百度分享这个功能已经有几年没有人维护过了,所以对于这种长期的遗留问题各位wordpress站长只有自己动手来解决了。

第一步,通过以下地址下载百度分享JS文件,解压得到static文件夹,上传到wordpress网站的根目录中,地址:https://github.com/hrwhisper/baiduShare

第二步,把调用jS的http://bdimg.share.baidu.com/删掉即可。

图片替换成https

修改wp_options表的siteurl和home为https格式。

update wp_options set option_value="https://www.qimuyun.cn" where option_value="http://www.qimuyun.cn";

修改wp_posts表的链接内容。

UPDATE wp_posts SET post_content=REPLACE(post_content,'http://www.qimuyun.cn/','https://www.qimuyun.cn/') WHERE 1

以上就是wordpress完成https常见的一些问题及解决方法。

 

下面就IIS服务器说下https证书的布置。

一、下载对应服务器类型证书

我的是IIS8,故选择IIS 7/8。点击“下载证书for IIS7/8”。

图片[1]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图一

二、安装SSL证书

1、上传至服务器

将下载好的证书压缩包上传至服务器。

2、证书的导入

开始>运行>MMC。再依次点击“文件”>“添加或删除管理单元”>“证书”>“计算机账户”>“下一步”>“添加”。

图片[2]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图二

打开“证书”>右键“个人”>“所有任务”>“导入”。

图片[3]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图三

右下角勾选“个人信息交换(*.pfx;p12)”。选择类型为“Personal Information Exchange”的文件即可。

图片[4]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图四

打开之后,选择下一步,勾选“根据证书类型,自动选择证书存储”,然后点击下一步。

图片[5]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图五

点击完成与成功导入。

图片[6]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图六
图片[7]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图七

空白处刷新,确认已成功导入。

图片[8]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图八
3、分配服务器证书

在IIS8中找到需要绑定的域名,点击后,找到右上角的“绑定”,最后点击“添加”。

图片[9]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图九

首先选择类型为“https”,然后填写域名,最后填写SSL证书。确定即可。

图片[10]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图十
4、测试效果

将首页、栏目页和内容页进行了几个浏览器的效果测试,均有安全网站标志。

图片[11]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图十一

三、HTTP到HTTPS的301跳转

方法一、URL重写

1、URL重写

在Windows2012服务器上的IIS8中,已经安装好URL重写模块(如未,先进行安装),双击点开。

图片[12]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图十二
2、添加空白规则

在右侧选择“添加规则”,并选择“空白规则”。

图片[13]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图十三
3、编辑入站规则

编辑规则如下。名字随便起。

模式(T):(.*)

条件输入(C): {HTTPS}

添加条件的模式(T):off

图片[14]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图十四

操作类型选择“重定向”。

重定向URL: https://{HTTP_HOST}/{R:1}

重定向类型:永久(301)。

最后点击右侧窗体的“应用”。

图片[15]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图十五

方法二、web.config

1、复制如下代码到web.config

新建一个txt文档,如新建文档.txt 改名为 web.config 。注意一定要改后缀。修改完后,用文本文档打开或nodepad++等编辑软件打开,后复制下面进入,保存。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="WordPress: http://luoshanren.cn" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
2、上传web.config文件到网站根目录

情况1:网站无web.config文件,那么直接复制进来即可。

情况2:如果网站根目录已经有这个文件,请不要覆盖,需要合并两个文件中的内容。

例如,我用的是WordPress博客系统,已经设置了固定链接,已经存在了web.config,那么此时,如果这个文件被覆盖,网站将只能正常访问主页。

原有文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
			<rule name="WordPress: https://www.qimuyun.cn" patternSyntax="Wildcard">
				<match url="*"/>
					<conditions>
						<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
						<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
					</conditions>
				<action type="Rewrite" url="index.php"/>
			</rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

两个文件代码整合后如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
            <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                <match url="(.*)" />
		        <conditions>
		            <add input="{HTTPS}" pattern="off" />
		        </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
	        </rule>
	        <rule name="WordPress: https://luoshanren.cn" patternSyntax="Wildcard">
		        <match url="*"/>
			        <conditions>
				        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
				        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
			        </conditions>
		        <action type="Rewrite" url="index.php"/>
	        </rule>
	  </rules>
    </rewrite>
  </system.webServer>
</configuration>
3、修改302为301

本来上传或替换web.config文件后,就完成了,我发现,在URL重写模块中是302跳转,虽然长期效果应该差不多,不过还是建议改为301吧。

图片[16]-【网站优化】WP引用http路径的js和css失效及详解IIS8下HTTPS的折腾过程-七木云
图十六

四、HTTPS改造后续工作

1、检查网站是否可以正常访问

检查前,将浏览器的浏览记录全部删除,不然缓存可能会影响测试的结果。

尽量能够全面检查所有类型的页面。

检查首页https://www.qimuyun.cn
检查分类页https://www.qimuyun.cn/dlxx
检查文章页https: //www.qimuyun.cn/1657.html
IIS网站日志分析详解检查标签页https: //www.qimuyun.cn/tags
检查单页面https://www.qimuyun.cn/smzz
温馨提示:本文最后更新于2021-04-05 22:08:58,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长
------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容