我有一个本地文件夹/bar ,我想通过http://www.example.com/foo 。
所以我有这样的configuration
rewrite ^/foo/(.*)$ /bar/$1 last;
同时,我想阻止公众访问真正的url /bar ,
然后我像添加configuration
location ~* ^/bar{ return 404; }
但是当我把这个URL添加到configuration中,上面的第一个configuration不起作用,现在都返回404
任何我应该修复,以使重写工作?
谢谢。
将“旧”位置标记为internal :
location /bar { internal; # your /bar location directives }
Nginx只在发生error_page , rewrite , X-Accel-Redirect或SSI请求时才处理“内部”位置(请参阅文档中的完整列表),否则它会回复404。