2015-09-25 36 views
0

考慮:nginx的try_files沒有任何文件 - 內部重定向

location ~ /foo/ { 
     try_files $uri $uri/ /foohandler.py; 
    } 

try_files:「如果發現沒有任何文件的,內部重定向到最後一個參數指定的URI由」 1

如果我知道$uri$uri/永遠不會存在,我怎麼總是做一個內部重定向到/foohandler.py不使用try_files

使用try_files /foohandler.py是無效的語法。什麼是適當的等價物? returnrewrite

回答

1
location ~ /foo/ { 
    rewrite^/foohandler.py break; 
} 
1

您仍然可以使用try_files。它需要一個以上的參數,所以只需添加一個404碼,以避免語法錯誤:

location ~ /foo/ { 
    try_files /foohandler.py =404; 
} 

在一個側面說明,如果你的URI總是開頭/富/然後前綴位置會更好:

location /foo/ { 
    try_files /foohandler.py =404; 
}