一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識(shí)|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - Nginx - nginx url自動(dòng)加斜杠及301重定向的問(wèn)題

nginx url自動(dòng)加斜杠及301重定向的問(wèn)題

2019-11-14 16:55un123 Nginx

這篇文章主要介紹了nginx url自動(dòng)加斜杠及301重定向的問(wèn)題的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

nginx url自動(dòng)加斜杠問(wèn)題及301重定向,URL指向一個(gè)目錄并且在最后沒(méi)有包含斜杠,會(huì)301重定向跳轉(zhuǎn),添加server_name或修改訪問(wèn)重定向。

nginx url自動(dòng)加斜杠問(wèn)題及301重定向

內(nèi)部服務(wù)器使用nginx,做網(wǎng)站測(cè)試之用。不同域名使用端口號(hào)區(qū)分,如www用默認(rèn)的80端口,其它域名用81,82...

有時(shí)直接在地址欄敲網(wǎng)址,會(huì)發(fā)現(xiàn)跳轉(zhuǎn)到localhost.localdomain的情況。

比如858端口下有個(gè)hx目錄,這樣正常訪問(wèn):http://192.168.1.158:858/hx/

但如果少打了一個(gè)/,如:http://192.168.1.158:858/hx

就會(huì)自動(dòng)跳轉(zhuǎn)到:http://localhost.localdomain:858/hx/

經(jīng)分析是nginx自動(dòng)加斜杠的問(wèn)題:

在某些情況下(具體可參考 wiki.nginx.org),Nginx 內(nèi)部重定向規(guī)則會(huì)被啟動(dòng)。

例如,當(dāng)URL 指向一個(gè)目錄并且在最后沒(méi)有包含“/”時(shí),Nginx 內(nèi)部會(huì)自動(dòng)的做一個(gè) 301 重定向,這時(shí)會(huì)有兩種情況:

1、server_name_in_redirect on(默認(rèn)),URL 重定向?yàn)椋?server_name 中的第一個(gè)域名 + 目錄名 + /;

2、server_name_in_redirect off,URL 重定向?yàn)椋?原 URL 中的域名 + 目錄名 + /。

If server_name_in_redirect is on, then Nginx will use the first value of the server_name directive for redirects. If server_name_in_redirect is off, then nginx will use the requested Host header.

原配置,沒(méi)有加server_name:

?
1
2
3
server {
listen 858;
}

修改后:

?
1
2
3
4
server {
listen 858;
server_name 192.168.1.158;
}

或:

?
1
2
3
4
server {
listen 858;
server_name_in_redirect off;
}

此問(wèn)題解決。訪問(wèn)http://192.168.1.158:858/hx可以正常跳轉(zhuǎn)到http://192.168.1.158:858/hx/了。

分析:

服務(wù)器的hostname是localhost.localdomain,當(dāng)沒(méi)有設(shè)置server_name時(shí),server_name就變成hostname了。

默認(rèn)又是server_name_in_redirect on,因此原配置訪問(wèn)hx目錄時(shí),會(huì)重定向到localhost.localdomain/hx/了。

第一種修改方法,加了server_name,那就跳轉(zhuǎn)到server_name + 目錄名 + /,對(duì)了。

第二種修改訪問(wèn),重定向?yàn)椋涸L問(wèn)的URL+目錄名+/,也對(duì)了。

泛解析配置:

?
1
2
3
4
server{
listen 80;
server_name _;
}

如果有個(gè)phpcheck目錄,有人不小心鏈了http://www.plchome.org/phpcheck這樣一個(gè)鏈接,就會(huì)重定向到http://_/phpcheck/。

所以這種在沒(méi)法指定server_name的情況下,要加上server_name_in_redirect off。

?
1
2
3
4
5
server{
listen 80;
server_name _;
server_name_in_redirect off;
}

這時(shí),訪問(wèn)www.plchome.org/phpcheck,就會(huì)自動(dòng)并且正確的跳轉(zhuǎn)到www.plchome.org/phpcheck/了。

晚上升級(jí)一臺(tái)服務(wù)器的nginx版本時(shí),在changes里看到:

?
1
2
3
4
5
6
Changes with nginx 0.8.48 03 Aug 2010
*) Change: now the "server_name" directive default value is an empty
name "".
Thanks to Gena Makhomed.
*) Change: now the "server_name_in_redirect" directive default value is
"off".

從nginx 0.8.48起server_name_in_redirect已經(jīng)默認(rèn)為off了,不再需要指定了。

以上所述是小編給大家介紹的nginx url自動(dòng)加斜杠及301重定向的問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91探花在线播放 | a v在线男人的天堂观看免费 | 趴好撅高打屁股sp调教h | 九九影院午夜理论片无码 | 国产精品网站在线观看 | 双性双根 | 亚洲欧美日韩另类在线一 | 久久精品久久久久 | 亚洲电影成人 成人影院 | 青草香蕉精品视频在线观看 | 亚洲视频1 | 欧美亚洲国产一区二区三区 | 欧美日韩国产中文字幕 | 国产美女久久久久 | 黑人双渗透| 99成人| 国产欧美精品一区二区三区–老狼 | 九九国产视频 | 亚洲看片lutube在线入口 | 男人使劲躁女人小视频 | 男人捅女人漫画 | 亚洲成年网站在线777 | 国产在视频| 成 人 亚洲 综合天堂 | 日韩香蕉网 | 好湿好紧太硬了我太爽了h 好湿好滑好硬好爽好深视频 | 双性总裁被调教1v1 双性双根 | 九九热国产视频 | 91短视频在线观看2019 | 人人澡人 | 99热久热这里只精品 | 国产在线观看福利片 | 亚洲视频999 | 久久综合狠狠综合狠狠 | 性色视频免费 | 国产三级精品91三级在专区 | 肉车各种play文r | 国产在线看片护士免费视频 | 明星h文集合短篇小说 | 热久久天天拍天天拍热久久2018 | 91在线 一区 二区三区 |