nginx limpa roteador de url / reescreve

1

estou tendo dificuldades com uma relatividade simples reescrever regras / roteador na configuração nginx.

Tudo que eu quero fazer é, se solicitado, dir ou o arquivo 'host / my / request / caminho [/ [index.php]]' não existir, reescreva para 'host / my / request / path.php'

A reescrita atual funciona para:

host
host/
host/my/request/path

Mas não funciona para:

host/my/request/path/

Aqui está a parte de reescrita da configuração:

    location / {
             try_files $uri/ $uri $uri.php;
    }

O log de erros informará:

Access forbidden by rule, request: "GET /my/request/path/ HTTP/1.0"

Hm, existe uma maneira melhor de resolver isso ou se livrar da barra final?

editar, regras mais elaborativas:

host[/] >  host/index.php
host/index[/] >  host/index.php
host/my/path[/] > if /path/index.php exists: host/my/path/index.php
else host/my/path.php
    
por Janko 15.09.2012 / 04:52

1 resposta

0

Solução:

link

eu adicionei

rewrite ^/(.*)/$ /$1;

antes da regra no primeiro post, parece estar funcionando.

    
por 15.09.2012 / 15:12