对于这个可怕的标题感到抱歉; 很难解释
我有一个searchfunction内置到我的网站,这是这样的使用:
http://www.example.com/search/queryhere
问题是,当我尝试search一个文件名,例如:
http://img.zgserver.com/http/hello.jpg
我得到一个nginx的404页面,据说是因为search/hello.jpg
试图打开。 解决方法是向请求path添加正斜杠,但我想要一个更持久的解决scheme。 我该如何解决?
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; access_log off; }
告诉nginx只对现有文件做额外的指令:
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { if (-f $request_filename) { expires max; log_not_found off; access_log off; } }
也许有更好的方法,不需要if
…
根据nginx陷阱 :
使用
if
来确保文件存在是可怕的。 这是平均的。 如果你有最近的Nginx版本,你应该看看try_files
,它使生活变得更容易。