举杯邀月

nginx 访问时判断文件不存在时进行跳转或 rewrite

摘要:nginx作为一个高性能的HTTP和反向代理web服务器,是我们常用的web服务器之一,他的配置虽然五花八门但却非常的灵活。我们在访问资源时难免会遇到文件不存在的尴尬情况,我们可以通过nginx配置来解决这一尴尬。

nginx作为一个高性能的HTTP和反向代理web服务器,是我们常用的web服务器之一,他的配置虽然五花八门但却非常的灵活。我们在访问资源时难免会遇到文件不存在的尴尬情况,我们可以通过nginx配置来解决这一尴尬。

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    if (!-e $request_filename) {
        ……
    }
}
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6

第一行是匹配 gif、jpg、jpeg、png、bmp、swf 这几种后缀的文件。
if 判断是判断文件是否存在,另外还又其他的判断:

  • -f 和 !-f 用来判断是否存在文件
  • -d 和 !-d 用来判断是否存在目录
  • -e 和 !-e 用来判断是否存在文件或目录
  • -x 和 !-x 用来判断文件是否可执行

if 判断里可以进行其他的操作,比如进行 rewrite 重定向。

作者:举杯邀月

出处: http://www.hug-code.cn/archives/5fc709e9c155a.html

2020-07-18 标签: nginx