欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx url自動加斜杠及301重定向的問題

 更新時間:2016年09月08日 10:15:47   作者:un123  
這篇文章主要介紹了nginx url自動加斜杠及301重定向的問題的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

nginx url自動加斜杠問題及301重定向,URL指向一個目錄并且在最后沒有包含斜杠,會301重定向跳轉,添加server_name或修改訪問重定向。

nginx url自動加斜杠問題及301重定向

內部服務器使用nginx,做網站測試之用。不同域名使用端口號區(qū)分,如www用默認的80端口,其它域名用81,82...

有時直接在地址欄敲網址,會發(fā)現(xiàn)跳轉到localhost.localdomain的情況。

比如858端口下有個hx目錄,這樣正常訪問:http://192.168.1.158:858/hx/

但如果少打了一個/,如:http://192.168.1.158:858/hx

就會自動跳轉到:http://localhost.localdomain:858/hx/

經分析是nginx自動加斜杠的問題:

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

例如,當URL 指向一個目錄并且在最后沒有包含“/”時,Nginx 內部會自動的做一個 301 重定向,這時會有兩種情況:

1、server_name_in_redirect on(默認),URL 重定向為: server_name 中的第一個域名 + 目錄名 + /;

2、server_name_in_redirect off,URL 重定向為: 原 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.

原配置,沒有加server_name:

server {
listen 858;
}

修改后:

server {
listen 858;
server_name 192.168.1.158;
}

或:

server {
listen 858;
server_name_in_redirect off;
}

此問題解決。訪問http://192.168.1.158:858/hx可以正常跳轉到http://192.168.1.158:858/hx/了。

分析:

服務器的hostname是localhost.localdomain,當沒有設置server_name時,server_name就變成hostname了。

默認又是server_name_in_redirect on,因此原配置訪問hx目錄時,會重定向到localhost.localdomain/hx/了。

第一種修改方法,加了server_name,那就跳轉到server_name + 目錄名 + /,對了。

第二種修改訪問,重定向為:訪問的URL+目錄名+/,也對了。

泛解析配置:

server{
listen 80;
server_name _;
}

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

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

server{
listen 80;
server_name _;
server_name_in_redirect off;
}

這時,訪問www.plchome.org/phpcheck,就會自動并且正確的跳轉到www.plchome.org/phpcheck/了。

晚上升級一臺服務器的nginx版本時,在changes里看到:

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已經默認為off了,不再需要指定了。

以上所述是小編給大家介紹的nginx url自動加斜杠及301重定向的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • Nginx反向代理與負載均衡概念理解及模塊使用

    Nginx反向代理與負載均衡概念理解及模塊使用

    這篇文章主要為大家介紹了Nginx反向代理與負載均衡概念理解及模塊說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Nginx 禁止訪問某個目錄或文件的設置方法

    Nginx 禁止訪問某個目錄或文件的設置方法

    如果基于WEB根目錄下,要禁止用戶訪問/config目錄,或者要禁止用戶訪問/config.ini(ZF常用INI,不過建議還是放到WEB目錄以外的地方),可以通過location進行配置,返回403或者404等
    2010-09-09
  • 使用Nginx實現(xiàn)根據 IP 匹配指定 URL

    使用Nginx實現(xiàn)根據 IP 匹配指定 URL

    最近的一個項目,需要特定的IP訪問某專題頁面的時候跳轉到網站首頁,思考了下,直接使用NGINX實現(xiàn),分享給大家。
    2014-09-09
  • nginx處理http請求實現(xiàn)過程解析

    nginx處理http請求實現(xiàn)過程解析

    這篇文章主要介紹了nginx處理http請求實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • nginx添加http_ssl_module并且配置域名指定端口的操作方法

    nginx添加http_ssl_module并且配置域名指定端口的操作方法

    這篇文章主要介紹了nginx添加http_ssl_module并且配置域名指定端口的操作方法,文末附帶linux下防火墻和開放端口,需要的朋友可以參考下
    2023-11-11
  • Nginx 配置過程的具體步驟

    Nginx 配置過程的具體步驟

    這篇文章主要介紹了Nginx 配置過程的詳細介紹的相關資料,希望通過本文能幫助到大家,讓大家掌握如何配置Nginx,需要的朋友可以參考下
    2017-10-10
  • 解決Nginx端口沖突的排查方法示例

    解決Nginx端口沖突的排查方法示例

    這篇文章主要介紹了解決Nginx端口沖突的排查方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Nginx服務器實現(xiàn)通過ip和user_gent限制訪問的方法分析

    Nginx服務器實現(xiàn)通過ip和user_gent限制訪問的方法分析

    這篇文章主要介紹了Nginx服務器實現(xiàn)通過ip和user_gent限制訪問的方法,結合實例形式分析了Nginx通過限制ip和user_gent限制訪問來過濾DDOS攻擊的相關操作技巧,需要的朋友可以參考下
    2019-07-07
  • Nginx添加ipv6模塊以及遇到問題解決方案詳解(親測有效)

    Nginx添加ipv6模塊以及遇到問題解決方案詳解(親測有效)

    IPV4日益稀缺,ipv6已經慢慢走上日程,待ipv6在國內普及,使用nginx配置ipv6那是肯定的,下面這篇文章主要給大家介紹了關于Nginx添加ipv6模塊以及遇到問題的解決方案,需要的朋友可以參考下
    2022-09-09
  • Nginx配置解決NetCore的跨域問題

    Nginx配置解決NetCore的跨域問題

    跨域資源共享(CORS)標準新增了一組?HTTP?首部字段,允許服務器聲明哪些源站有權限訪問哪些資源,這篇文章主要介紹了Nginx配置解決NetCore的跨域問題,需要的朋友可以參考下
    2022-07-07

最新評論