网站之前并没有开启https协议。
所有的链接都是绝对链接,几乎没有相对链接。
现在的情况是开启https后所有的绝对链接失效,图片失效。因网站页面较多,请问各位有没有什么办法可以批量更改链接的?
网站之前并没有开启https协议。
所有的链接都是绝对链接,几乎没有相对链接。
现在的情况是开启https后所有的绝对链接失效,图片失效。因网站页面较多,请问各位有没有什么办法可以批量更改链接的?
直接使用 WEB
服务器做永久重定向 ,NGINX
为例
<code>server{ listen 80; server_name test.com; #告诉浏览器2年有效期内只准用 https 访问 add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; #永久重定向到 https 站点 return 301 https://$server_name$request_uri; }</code>
如果实在没有权限设置配置,那么写个脚本批量替换一下罗,或者把代码下载到本地,然后用IDE批量替换一下。修改前请做好备份
类似功能脚本
<code>sed -i "s/http:\/\/www.old.com/https:\/\/www.old.com/g" `grep http://www.old.com -rl /path/to/project`</code>
https://imququ.com/post/sth-a...
历史悠久的大站在往 HTTPS 迁移的过程中,工作量往往非常巨大,尤其是将所有资源都替换为 HTTPS 这一步,很容易产生疏漏。即使所有代码都确认没有问题,很可能某些从数据库读取的字段中还存在 HTTP 链接。
而通过 upgrade-insecure-requests 这个 CSP 指令,可以让浏览器帮忙做这个转换。启用这个策略后,有两个变化:
页面所有 HTTP 资源,会被替换为 HTTPS 地址再发起请求;
页面所有站内链接,点击后会被替换为 HTTPS 地址再跳转;
跟其它所有 CSP 规则一样,这个指令也有两种方式来启用,具体格式请参考上一节。需要注意的是 upgrade-insecure-requests 只替换协议部分,所以只适用于 HTTP/HTTPS 域名和路径完全一致的场景。
一般编译软件都有一键替换的功能。
重写url应该可以
你的网站不会是全静态页面吧?如果不是那就改模板,还有,URL一般是通过一个指定函数生成的吧,改函数就可以了,图片路径,如果是数据库里的就批量替换一下就好了,页面图片文件,模板改一下就好了嘛
现在知道封装的重要性了吧
403跳转呗;