1.获取原图链接

上传一张图片文件到淘图,得到以下链接:

https://img.alicdn.com/imgextra/i4/358272220/TB2hCqxmB8lpuFjSspaXXXJKpXa_!!358272220.jpg

2.新建302跳转PHP代码

根据URL写一个名为i4.php的302状态码跳转页,内容如下

<?php
    if(!empty($_GET['s'])){
        $url='https://img.alicdn.com/imgextra/i4/358272220/'.$_GET['s'];
    }else{
        $url='404.JPG';//没有参数时显示默认图片
    }
    header("Location:".$url);
?>

3.测试跳转代码

保存到网站根目录后访问如下格式的链接:(这里我以自定义域名 https://shota.vip/ 为例)

https://shota.vip/i4.php?s=TB2hCqxmB8lpuFjSspaXXXJKpXa_!!358272220.jpg

就可以看到外链的图片,其中,红色代码部分为外链的文件名,但是这样的链接为动态,不利于搜索引擎的抓取和优化。我们可以利用web释义引擎来重写成静态URL。

4.利用web释义引擎来重写URL

nginx引擎写法;编辑所属站点nginx.conf文件

rewrite "imgs/i4/(.+)$" /i4.php?s=$1;

apache引擎写法;编辑所属站点.htaccess文件

RewriteRule imgs/i4/(.+)$ img/i4.php?id=$1 [L,NC]

5.直接引用图片

保存引擎的配置文件并重启服务后,得到以下最终链接,这样就完全把淘宝图片的链接重写成了我们自己的域名链接,可以直接引用。

https://shota.vip/imgs/i4/TB2hCqxmB8lpuFjSspaXXXJKpXa_!!358272220.jpg

6.感谢光网烈火编辑部雷雨提供PHP代码。

参考:https://lighttp.com/?f=80

重写外部图片URL,变成自己的URL的更多相关文章

  1. 将canvas画布内容转化为图片(toDataURL(),创建url)

    将canvas画布内容转化为图片(toDataURL(),创建url) 总结 1.现在的浏览器都支持右键另存为图片的方法来将canvas画布内容转化为图片 2.在代码里面可以通过toDataURL() ...

  2. 基于.NetCore开发博客项目 StarBlog - (17) 自动下载文章里的外部图片

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  3. heightCharts改变图表内图标的样式:链接外部图片

    series: [{ name: '东京', marker: { symbol: 'url(https://www.highcharts.com/demo/gfx/sun.png)'     //链接 ...

  4. 【详细、开箱即用】.NET企业微信回调配置(数据回调URL和指令回调URL验证)

    前言: 前段时间因为公司业务需求,需要将微信小程序与企业微信对接通,也就是把小程序绑定到对应的企业微信账号下,在该企业微信的用户可以将该小程序绑定到工作台中,然后可以在工作台中打开该小程序并授权.不过 ...

  5. URL详解与URL编码

    作为前端,每日与 URL 打交道是必不可少的.但是也许每天只是单纯的用,对其只是一知半解,随着工作的展开,我发现在日常抓包调试,接口调用,浏览器兼容等许多方面,不深入去理解URL与URL编码则会踩到很 ...

  6. 【转】关于URL编码/javascript/js url 编码/url的三个js编码函数

    来源:http://www.cnblogs.com/huzi007/p/4174519.html 关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),e ...

  7. HTTP 请求方式: GET和POST的比较当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

    什么是HTTP? 超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议. HTTP在客户端和服务器之间以request ...

  8. 相对URL拼接为绝对URL的过程

    URL有两种方式:绝对的和相对的. 绝对URL中包含有访问资源的所需的全部信息 举一个例子: <HTML> <HEAD><TITLE>Joe's Tools< ...

  9. [转帖]在RDLC中使用外部图片

    原文链接:http://blog.csdn.net/rock870210/article/details/4559962 在RDLC中使用外部图片 2009-09-16 19:08 3416人阅读 评 ...

随机推荐

  1. EasyUI 中 Combobox里的onChange和onSelect事件的区别

    EasyUI 中 Combobox 选项发生改变时会触发 onChange,onSelect,onClick 3 个事件. 最近要做一个级联的 Combo 菜单,类似于选择地址时让用户填写省,市,区的 ...

  2. 跟随我在oracle学习php(11)

    数组专题 数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( var i = 0; i <arr.length; i++){ consol ...

  3. onceAgain, 这是一个py群的群公告说明

    群规: 1. 不骚扰人 2. 不涉及娱乐政治 3. 主要就这两条 入门参考:https://book.douban.com/review/9547077/ qq群/网盘:523445644  # 加群 ...

  4. python输入字符串

    #!/usr/bin/env python#ecoding=utf-8'''Created on 2017年11月2日题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来. @autho ...

  5. XenServer 自动化布署 (关键词: PXE ANSWER SCRIPT)

    XenServer 6.x PXE自动化布署: 测试环境:win10 + Tiny pxe server 1.0.2,采用gpxelinux.0 时间:2017.1.10 PXE远程安装: 1)def ...

  6. 棋牌平台开发教程之扎金花大小比较算法在php中的实现

    PHP中扎金花比大小如何实现 在棋牌游戏中,不管是现实的还是线上的,扎金花无疑是最热门棋牌游戏之一,鄙人从小就酷爱扎金花,机缘巧合后面从事了IT行业,话不多说,直接进去正题吧. 扎金花两副牌的比较规则 ...

  7. unity中多个门的开关动画保持独立性

    List<Animation> storeAnimation; public void Awake() { storeAnimation = new List<Animation&g ...

  8. oracle 字符串 正则表达式 拆分,排序,合并

    需求,表数据如:要求圈中的数据,必须根据线芯有序排列. 思路: 1.首先根据分号分隔元素.oracle 很蛋疼,没有提供字符串分隔函数,网上倒是多觉得有点麻烦,耐着性子继续网上找了下,还真让我找到一篇 ...

  9. 电梯问题——致敬ACM

      The Fair Nut and Elevator     time limit per test 1 second memory limit per test 256 megabytes inp ...

  10. netty解码器详解(小白也能看懂!)

    什么是编解码器? 首先,我们回顾一下netty的组件设计:Netty的主要组件有Channel.EventLoop.ChannelFuture.ChannelHandler.ChannelPipe等. ...