nginx: reescrever um arquivo php inexistente para outro arquivo php com todos os argumentos

1

Eu realmente preciso de ajuda aqui. Sentado por algum tempo agora e não entendi.

Eu quero realizar uma tarefa muito simples - reescrever um arquivo php inexistente para outro arquivo php existente com todos os argumentos como:

this  http://example.com/nonexistent.php?url=google.com
to -> http://example.com/existent.php?url=google.com

Eu tentei algo assim:

rewrite ^/nonexistent.php /existent.php;

Qual não funciona (Arquivo não encontrado). Mas redirecione um arquivo html inexistente para um arquivo php como este:

rewrite ^/nonexistent.html /existent.php;

funciona.

Eu não quero reescrever um arquivo html, mas isso ainda é um comportamento confuso.

Por isso, tentou também algo assim (e algumas variações):

rewrite ^/nonexistent.php?url=^(.*)$ /existent.php?url=$1;

que também não está funcionando. (Talvez a sintaxe seja ruim)

Alguma ajuda aqui? Seria muito bom!

    
por carrot 27.11.2012 / 12:50

1 resposta

2
location = /nonexistent.php {
    rewrite ^ /existent.php last;
}
por 28.11.2012 / 04:35