Para usar um simples block return
de redirecionamento, ele precisa de um bloco de localização /
específico ou loop infinitamente (observando que o bloco de localização /
está sem um caractere curinga para que os recursos possam ser ignorados)
server "www.example.conf" {
listen on $ext_addr port 80
location "/cgi-bin/*" {
fastcgi
root ""
}
location "/" {
# 302 (Temporary) while testing
# 301 (Permanent) when you're done & sure
block return 302 "/cgi-bin/bgplg"
}
}
Agora, há outro truque que geralmente funciona: root
é passado para o fastcgi como a variável DOCUMENT_ROOT
, que é executada se existir.
Um efeito colateral é que o httpd não define o SCRIPT_NAME
que o bgplg requer e, portanto, não funciona; mas outros scripts que não se baseiam nele ou funcionam normalmente, funcionarão bem ( e poderão manipular /
sozinhos ou ser estendidos com correspondência de padrões ou /*
como um pega-tudo )
location "/" {
fastcgi
root "/cgi-bin/somescript"
}