短链原理:
访问一个短链接网站,然后跳转到长链接。
但是,我们不可能每一个长链接都手动创建一个短链网站,没有那精力
可以使用什么方式?
1. 使用相关代码批量创建,有点憨,这样搞文件会很多
2. POST方式传参
POST是隐性传参,不能用(这是用来凑字数的)
3. GET方式传参
显性传参,就是写到url链接里的,
GET传参的url都有个特点
就是形势都是 域名?参数名=参数值
例:https://cn.bing.com/search?q=搜索内容
解释一下,首先是bing搜索接口https://cn.bing.com/search
后年加?,然后是参数名q,然后接=参数值
这样只需要一个文件,就可以实现搜索不同的内容
但是,市面上所有绝大多数短链接平台生成的都是
形如https://域名/ShbzsR的短链接,
如何将自己的链接变成这样呢,这就需要伪静态了
上述ShbzsR称为入口名
伪静态
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /url.php?c=$1 last;
}
}
解释:
打开url指定的入口文件,如果失败的话则将域名后的入口名转为参数,拼接成GET方式访问根目录
/url.php?c=入口名
然后只需要编写url.php文件接收传过来的入口名,
$code = $_GET['c'];
这里接收到了参数值,然后跳转参数值对应的长链接即可
参数值与长链接关系使用数据库存储
-------------------------------------------------------------------
总结:
伪静态 + GET
源码下载链接(内附伪静态)
抱歉,隐藏内容 回复 后刷新可见
6666看看