gpt4 book ai didi

linux - nginx定位规则干扰

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:51 32 4
gpt4 key购买 nike

我有这个 Nginx 规则:

location /fr {
rewrite ^/(fr)(?:/([^/]+))?$ /$2?lang=$1 last;
}

我有这样的页面:

example.com/en/some-page

example.com/fr/some-page

example.com/fr

...

但我还有一个以 fr 开头的页面:

example.com/free-plan//不起作用

example.com/fr/free-plan//也不起作用

如何修改我的 Nginx 规则,使 /fr 规则不会干扰我的 free-plan 页面?

Ps: 我使用 PHP 和规则来服务没有扩展名的页面:

location / {
try_files $uri $uri.html $uri/ @extensionless-php;
}

location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}

最佳答案

我建议您将 /fr 视为一种特殊情况,并使用 location/fr/ 来避免以 fr< 开头的页面产生副作用.

例如:

location = /fr {
rewrite ^/(.*)$ /?lang=$1 last;
}
location /fr/ {
...
}

参见 this document了解详情。

关于linux - nginx定位规则干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44085074/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com