PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

javascript - 网站更改为https后该怎么处理链接问题?

原创
2016-12-05 13:44:17 1479浏览

网站之前并没有开启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跳转呗;

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。