生活随笔
收集整理的這篇文章主要介紹了
长链转短链实现
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一:根據(jù)長(zhǎng)鏈生成6位的短鏈字母,并保存二者之間的映射關(guān)系
二:配置nginx轉(zhuǎn)發(fā),利用 rewrite 指令將請(qǐng)求重定向到自己提供的接口,根據(jù)6位唯一碼去數(shù)據(jù)庫(kù)中查找原鏈接,重定向過(guò)去
nginx 配置例如
訪問(wèn):短鏈 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指令
?該指令通過(guò)正則表達(dá)式的使用來(lái)改變URI.可以同時(shí)存在一個(gè)或者多個(gè)指令,按照順序一次對(duì)URL進(jìn)行匹配和處理。該指令可以在server塊后者location塊中配置
?
??語(yǔ)法:指令語(yǔ)法:rewrite regex replacement [flag];
? rewrite是實(shí)現(xiàn)URL重定向的重要指令regex:用來(lái)匹配URI的正則表達(dá)式;replacement:匹配成功后用來(lái)替換URI中被截取內(nèi)容的字符串,默認(rèn)情況如果該字符串包含“http://”、
"https://"開(kāi)頭,則不會(huì)繼續(xù)向下對(duì)URI進(jìn)行其他處理。直接返回重寫的URI給客戶端flag:用來(lái)設(shè)置rewrite對(duì)URI的處理行為,包含如下數(shù)據(jù):標(biāo)記符號(hào) 說(shuō)明last 終止在本location塊中處理接收到的URI,并將此處重寫的URI作為新的URI使用其他location進(jìn)行處理。(只是終止當(dāng)前l(fā)ocation的處理)
break 將此處重寫的URI作為一個(gè)新的URI在當(dāng)前l(fā)ocation中繼續(xù)執(zhí)行,并不會(huì)將新的URI轉(zhuǎn)向其他location。redirect 將重寫后的URI返回個(gè)客戶端,狀態(tài)碼是302,表明臨時(shí)重定向,主要用在replacement字符串不以“http://”,“ https://”或“
$scheme” 開(kāi)頭;permanent 將重寫的URI返回客戶端,狀態(tài)碼為301,指明是永久重定向;
總結(jié)
以上是生活随笔為你收集整理的长链转短链实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。