Nginx 语言重定向:/de/test/test.php 到 /test/test.php?

Nginx 语言重定向:/de/test/test.php 到 /test/test.php?

我正在尝试在新服务器上配置 Nginx。我有许多 PHP 脚本(例如 /test/test.php),我想“按原样”使用这些脚本(默认语言,英语),以及语言重定向。示例 - 当请求“/de/test/test.php”时,

  1. nginx 写入 cookie (lang=de)
  2. 并返回“/test/test.php”(不修改 URI,因此访问者仍停留在“/de/test/test.php”上

任何帮助都将不胜感激!我已经为此浪费了好几个晚上的时间,我非常绝望,想要取消新服务器并返回共享主机。

谢谢!

答案1

如果它有效,请告诉我:

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;
}

相关内容