我正在尝试使用与此问题中讨论的方法非常相似的技术来设置nginxredirect。
我还使用以下代码设置了默认值:
map $arg_request_id $url_prefix{ default /old; include /a/b/c/redirect_urls.map; }
默认情况下是我想在出现任何问题时应该回退的内容。 redirect_urls.map文件定期更新。 现在,我遇到的问题是,有些情况会出现问题,redirect_urls.map文件被删除(或者它是一个没有redirect_urls.map文件的新机器)。 我面临的问题是,当我跑步
>>> nginx -s reload nginx: [emerg] open() "/a/b/c/d/redirect_urls.map" failed (2: No such file or directory) in /etc/nginx/nginx.conf:22
我怎么能这样,如果该文件不存在,那么nginx只是拿起默认值,只是总是将$ url_prefix设置为/旧,而不是给一个文件未find错误? 在这种情况下try_files会有帮助吗?
你可以试试
include /a/b/c/*.map;
我不知道这是否会奏效,但是我可以想到的就是尝试。
实际上,你应该修改任何允许configuration文件不在那里的进程。