Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 以已知扩展名结尾的重写失败,为什么?_Nginx - Fatal编程技术网

Nginx 以已知扩展名结尾的重写失败,为什么?

Nginx 以已知扩展名结尾的重写失败,为什么?,nginx,Nginx,我有一个重写,它将所有内容路由到index.php文件,但是,如果url以已知扩展名结尾,例如:.gif、.png,它将失败并给出一个nginx 404错误页面。为什么 我的重写如下所示: location / { try_files $uri $uri/ /index.php?$args; } 此url适用于domain.com/attachment/53c386a876a56_ets2_00000,并使用index.php文件 这不适用于domain.com/attachment/

我有一个重写,它将所有内容路由到index.php文件,但是,如果url以已知扩展名结尾,例如:.gif、.png,它将失败并给出一个nginx 404错误页面。为什么

我的重写如下所示:

location / {
    try_files $uri $uri/ /index.php?$args;
}
此url适用于domain.com/attachment/53c386a876a56_ets2_00000,并使用index.php文件

这不适用于domain.com/attachment/53c386a876a56_ets2_00000.png,并给出404未找到的nginx错误

当我在url中有一个已知的扩展名时,为什么不将它发送到我的index.php?

我有一个位置块拾取这些扩展名,从而破坏了重写

location ~* \.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|exe|html|htm|txt|css|js) {
       add_header        Cache-Control public;
       add_header        Cache-Control must-revalidate;
       expires           7d;
       access_log off;
}
我评论说,现在它可以正常工作了


谢谢@Tan Hong Hat。

请发布您的完整配置。