没有任何文件的nginx try_files - 内部重定向

时间:2015-09-25 14:57:15

标签: nginx server

假设:

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

try_files:“如果找不到任何文件,则会在最后一个参数中指定uri的内部重定向”1

如果我知道$uri$uri/将永远不存在,如何在不使用/foohandler.py的情况下始终将内部重定向到try_files

使用try_files /foohandler.py语法无效。什么是适当的等价物? returnrewrite

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您仍然可以使用try_files。它需要多个参数,因此只需添加404代码以避免语法错误:

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

另外,如果你的uri总是以/ foo /开头,那么前缀位置会更好:

location /foo/ {
    try_files /foohandler.py =404;
}
相关问题