Redirecionamento da linguagem Nginx: /de/test/test.php para /test/test.php?

2

Estou tentando configurar o Nginx em um novo servidor. Eu tenho um número de scripts PHP (por exemplo, / teste / teste.php) e eu quero usar este scripts "como é" (idioma padrão, Inglês), bem como com redirecionamento de idioma. Exemplo - quando "/de/test/test.php" é solicitado,

  1. nginx escreve um cookie (lang = de)
  2. e retorna "/test/test.php" (sem modificar o URI, para que o visitante permanece em "/de/test/test.php"

Qualquer ajuda é muito apreciada! Eu já perdi várias noites lutando com isso, e estou ficando desesperado o suficiente para cancelar o novo servidor e voltar para a hospedagem compartilhada.

Obrigado!

    
por Vlad Gerasimov 09.10.2011 / 18:29

1 resposta

2

Por favor, deixe-me saber se funciona:

location ~ \.php$ {
    location ~* /(de|fr)/test/test\.php$ {
        set $lang $1;
        add_header  Cookie 'lang=$lang';
        rewrite (.*) /test/test.php last;
        break;
    }
    fastcgi_pass 127.0.0.1:9000;
    include fastcgi.conf;

    fastcgi_intercept_errors        on;
    error_page 404 /error/404.php;
}
    
por 10.10.2011 / 10:21