登录  /  注册

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

php中文网
发布: 2016-12-05 13:44:17
原创
1475人浏览过

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

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号