Nginx 404 reescreve problema

1

Eu estou tentando pegar variáveis entre barras e passá-las para o meu script de gerenciamento com a seguinte linha de reescrita no Nginx:

rewrite ^/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)$ /index.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5&p6=$6;

Se eu solicitar a página com menos de 6 variáveis (por exemplo: / var1 / var2 / var3 / var4 / var5 /) 404s.

É possível usar isso com menos de 6 variáveis? (Vou precisar das 6 variáveis completas em diferentes partes da minha aplicação web)

Executando o CentOS 6 no OpenVZ com Nginx 1.4.1-1.el6 64 bits + PHP-FPM.

Obrigado antecipadamente.

    
por Justin 13.05.2013 / 19:28

1 resposta

1

Se você não tiver exatamente seis itens entre as barras, este padrão não será compatível e você receberá um 404.

Você pode fazer cinco novas regras de reescrita contendo de uma a cinco variáveis, respectivamente (ou alguém que é melhor na regex do que eu poderia sugerir uma única regra para cobrir todos os seis casos, mas acima da maioria das pessoas) ou apenas lidar com isso no seu aplicativo, em vez disso.

    
por 13.05.2013 / 19:31

Tags