if (!-e $request_filename)
是判断文件是否存在,如果不存在就进行rewrite
重写。
网上大多数配置方式,这里都变成了无条件重写,曾经自己也坑在这里,甚至用了奇葩的方式去临时处理。
指定某些后缀名的不做rewrite
重写,类似如下。
rewrite ^/(?!.jpg)(?!.php)(?!.css)(?!.js)(?!upload)(.*)$ /index.php/$1 last;
也曾怀疑和搜索为什么文件明明存在,还要被重写。
原因是 if (!-e $request_filename)
和 root
要在一个配置层级,如果在location /{}里的root写了不同的目录。
就得也在这里include一次 .htaccess,对于多个location时,需要特别注意。
图中,原把root写在location / 里,就出了问题,无法加载模板index.php,复制一条出来就好了。
标签: none
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.isres.com/nginx/376.html