这两天进行了外链转移尝试,原因是图片文件都放在主服务器上导致加载速度过慢。

图片文件

图片优先采用了超星的云盘作为外链来源,具体操作如下:

在超星云盘的网页上点击图片文件会显示预览,
右击图片,
选择在新标签页中打开图片,
新的标签页地址类似:

http://imageproxy.chaoxing.com/0x0,q15,jpeg,sRXXXXXXsXXXXXXXXXXXXozpPt2_YEYPZhc/http://p.ananas.chaoxing.com/star3/origin/98XXXXXXXXXXXf92ff15b7d59939cfe.png

截取后半部分

http://p.ananas.chaoxing.com/star3/origin/98XXXXXXXXXXXf92ff15b7d59939cfe.png

即为原图链接,直接引用即可。


这里存在一个问题:wordpress的文章特色图片默认不允许使用外链图片,因此需要借助一些插件。
我最先选择的是External Media without Import这款,但是在我的网站无法使用,不能识别url对应的图片并添加,
后来使用的是Featured Image from URL,他会在文章编辑的右侧,及文档信息编辑栏目增加一个信息块,直接在其信息块中导入url即可,同时要记得把原有的特色图像栏目中的旧图片删除。

字体文件

字体文件对加载速度影响也很大,我尝试将字体文件放到超星上分享后提取下载链接,放到脚本文件中,发现不可行,在最后进行网页源码检查发现外链来源提示

net::ERR_ABORTED 403 (Forbidden)

应该是超星拒绝了服务器的下载请求。

我寻求七牛,百度网盘等其他平台,均不奏效,最后尝试在服务器搭建oneindex,使用个人的onedrive。搭建过程依然困难重重。


首先我在域名控制台里面添加了二级域名解析“od.siuze.top”,
接着在宝塔面板上添加网站,
而后将oneindex的项目文件添加进网站目录。
打开二级域名进行安装绑定,


我先用的是以我学校的教育邮箱注册的onedrive for business 账号,转跳至绑定微软账号是提示不能绑定,这是因为我学校的教育邮箱下没有onedrive的管理员,所以默认不开放api权限。这与之前我利用RaiDrive软件将onedrive映射到本地上作为一个网络磁盘时出现的问题一致。
而后我采用自己的onedrive的个人账户,给予权限成功但最后一步提示绑定失败。我在网上搜寻解决方案,大多数人认为这是密钥含有部分特殊字符导致解析错误,但我尝试生成新密码十几次仍未解决,最后更换浏览器,在Microsoft Edge中绑定成功。这种解决办法并不适合部分人,我看到issue上的部分提问者表示行不通。

绑定成功后上传字体文件获得外链,导入css脚本后仍旧不能加载,检查网页源代码,显示错误如下:

No 'Access-Control-Allow-Origin' header is present on the requested resource. 

这是由于网站不允许跨域加载文件,不同意跨域请求,这时搜寻解决办法,网上大多解决方案是在网页PHP中添加响应头信息:

header("Access-Control-Allow-Origin: *");

我尝试在我网站的主页文件index.php中添加该代码,无效。

我开始思考,因为部分解决方案写明要在来源端的服务器上设置,这就意味着我应当在oneindex的页面上设置,但是外部链接并不是oneindex的主页,直接修改其主页链接应该不可行吧,但我仍然测试了一下,结果能够生效,错误排除。

同时这就意味着不能利用超星作为文件外链来源了,因为我不能修改超星服务器的index.php

加载速度

将文件改为外链后并不意味着能够高枕无忧了,检查源代码查看各部件的加载速度,下图是典型情况下主页的加载速度示意:

红色框内为超星来源,紫色为服务器来源,蓝色为index来源。

1.理想情况下超星的图片加载速度可在一秒以内,但并不总是稳定的。总体上问题不大
2.oneindex原先加载非常迟缓,我给服务器上了代理,连上我外网的服务器后速度似乎有所提高,但也不太稳定,具体实现过程放在另一篇写。
3.服务器端就不一样了,他的速度偏慢是偏得很稳定的。
4。还有一个黄色框说明待补

最后修改:2020 年 10 月 02 日 04 : 52 PM