gpt4 book ai didi

Nginx try_files 不适用于默认 index.html

转载 作者:行者123 更新时间:2023-12-04 16:06:24 27 4
gpt4 key购买 nike

我正在使用 nginx 的 $geoip_country_code 模块根据 IP 重定向用户。我的配置代码如下-

server {
listen 80;
gzip on;
server_name example.com;
root html/example;
location / {
index index.html;
try_files /$geoip_country_code/index.html /index.html;
}
location ~* \.(gif|jpg|jpeg|png|js|css)$ { }
}

想法是根据我本地化的国家/地区重定向用户,否则用户会转到默认索引,即对其他人通用。当我在我的国家/地区的浏览器中打开它时,它可以完美运行,因为我已经对其进行了本地化。但是当从不同的国家打开时,它显示内部服务器错误。它不会进入默认索引页面。

有人可以指出我做错了什么吗?

最佳答案

try_files的最后一个元素语句是默认操作,它可以是 URI 或响应代码。 /index.html开始搜索新 location处理请求,并在开始时返回,因此您有一个重定向循环。

您可以通过制作 /index.html 来解决问题。 文件 代替。例如:

try_files /$geoip_country_code/index.html /index.html =404;
=404从不采取行动,因为 /index.html永远存在。

就个人而言,我会使用通用解决方案:
try_files /$geoip_country_code$uri $uri /index.html;

this document更多。

关于Nginx try_files 不适用于默认 index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48618543/

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