精品国产免费观看久久久_久久天天躁狠狠躁夜夜爽_无码人妻少妇久久中文字幕_狠狠做深爱婷婷久久综合一区

網(wǎng)絡(luò)建站知識(shí)

精準(zhǔn)傳達(dá) ? 價(jià)值共享

洞悉互聯(lián)網(wǎng)前沿資訊,探尋網(wǎng)站營銷規(guī)律

Nginx Rewrite偽靜態(tài)重寫URL尾部自動(dòng)增加/斜杠

作者:狐靈科技 | 2020-02-07 23:18 |點(diǎn)擊:

 很多時(shí)候我們使用nginx做偽靜態(tài)的時(shí)候需要使用目錄形式的URL。這也會(huì)出現(xiàn)一些問題,比如帶/斜杠的可以打開 不帶斜杠的就404了。
 

有時(shí)候問了能兼容所有URL,偽靜態(tài)就要搞好多。 最近在開發(fā)門戶網(wǎng)站 客戶還有靜態(tài)網(wǎng)址,偽靜態(tài)規(guī)則數(shù)量已經(jīng)將近200條。很多用了目錄形式的URL
 

這里記錄一下一個(gè)在URL尾部自動(dòng)增加斜杠,URL尾部沒有斜杠的自動(dòng)跳轉(zhuǎn)到帶斜杠的URL網(wǎng)址。并且不影響其他文件。

往上很多教程是直接 rewrite 跳轉(zhuǎn),這樣如果你有其他文件的話也一樣會(huì)跳轉(zhuǎn)。我做了些改進(jìn),增加了判斷。可以完美兼容。

規(guī)則如下:

 

if (!-f $request_filename){
rewrite ^(.*[^/])$ $1/ permanent;
}
?

注意將上面三行代碼放到你偽靜態(tài)規(guī)則的 尾部,這樣不影響已經(jīng)存在的規(guī)則。自己的規(guī)則匹配不到的情況下最后才會(huì)跳轉(zhuǎn)。

這樣可以針對(duì)目錄  針對(duì)html結(jié)尾的就不好用了 更好的解決辦法在文末

放的位置如下圖


Nginx Rewrite偽靜態(tài)重寫URL尾部自動(dòng)增加


這樣還會(huì)出現(xiàn)一個(gè)問題 那就是如果訪問的是html 文件 也會(huì)自動(dòng)加 就變成了


https://www.www.kxlw.net/jzzs/876.html/

這樣也導(dǎo)致網(wǎng)址打不開 因此要加一個(gè)判斷 最終使用如下代碼  同樣加在最后面
 

  1. #解決目錄自動(dòng)加斜杠  
  2. if (-d $request_filename) {  
  3.   
  4.     rewrite ^/(.*)([^/])$ http://$http_host/$1$2/ permanent;  
  5.   
  6. }  

接下來對(duì)這段代碼進(jìn)行一個(gè)解釋:

1、if (-d $request_filename),如果請(qǐng)求的是一個(gè)文件夾,則為真,進(jìn)到if語句中執(zhí)行

2、rewrite 是執(zhí)行 url 重寫操作。

3、^/(.*)([^/])$ 表示以/符號(hào)開始并緊跟著任何字符,同時(shí)不是以/為結(jié)束的字符串,在我的url 中,(.*) 表示的 news。

4、http://$host/$1$2/ 表示的重寫后的地址,$host 是請(qǐng)求的域名,$1 是前面第一個(gè)括號(hào)里的內(nèi)容,在我的 url 里就是 news。

5、permanent 表示,返回永久重定向的 HTTP 狀態(tài) 301。

如沒特殊注明,文章均為狐靈科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明?? "Nginx Rewrite偽靜態(tài)重寫URL尾部自動(dòng)增加/斜杠
多一份免費(fèi)策劃方案,總有益處。

請(qǐng)直接添加技術(shù)總監(jiān)微信聯(lián)系咨詢

網(wǎng)站設(shè)計(jì) 品牌營銷

多一份參考,總有益處

聯(lián)系狐靈科技,免費(fèi)獲得專屬《策劃方案》及報(bào)價(jià)

咨詢相關(guān)問題或預(yù)約面談,可以通過以下方式與我們聯(lián)系

業(yè)務(wù)熱線:15082661954 / 大客戶專線:15523356218