长链转短链实现

一:根据长链生成6位的短链字母,并保存二者之间的映射关系
二:配置nginx转发,利用 rewrite 指令将请求重定向到自己提供的接口,根据6位唯一码去数据库中查找原链接,重定向过去

nginx 配置例如
访问:短链 test.ppf.com/asdFgj

server
{
        listen   80;
        server_name test.ppf.com;
        location / {
        rewrite '^/[a-zA-Z0-9]{6}$' https://test.ppf.com/fsd/shortUrl/conversion/$document_uri permanent;
           try_files $uri $uri/ /index.html;
           root /www/web/fsd_h5/h5/;
           index  index.html index.htm;
        }	
  }

rewrite指令
 该指令通过正则表达式的使用来改变URI.可以同时存在一个或者多个指令,按照顺序一次对URL进行匹配和处理。该指令可以在server块后者location块中配置

  语法:指令语法:rewrite regex replacement [flag];

   rewrite是实现URL重定向的重要指令
   regex:用来匹配URI的正则表达式;
   replacement:匹配成功后用来替换URI中被截取内容的字符串,默认情况如果该字符串包含“http://”、"https://"开头,则不会继续向下对URI进行其他处理。直接返回重写的URI给客户端
    flag:用来设置rewrite对URI的处理行为,包含如下数据:
	
	标记符号	说明
	last	终止在本location块中处理接收到的URI,并将此处重写的URI作为新的URI使用其他location进行处理。(只是终止当前location的处理)
	break	将此处重写的URI作为一个新的URI在当前location中继续执行,并不会将新的URI转向其他location。
	redirect	将重写后的URI返回个客户端,状态码是302,表明临时重定向,主要用在replacement字符串不以“http://”,“ https://”或“ $scheme” 开头;
	permanent	将重写的URI返回客户端,状态码为301,指明是永久重定向;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值