yaf
yaf copied to clipboard
nginx 文档配置错误。
文档上有错 错误的写法: if (!-e $request_filename) { rewrite ^/(.) /index.php/$1 last; } 正确的写法 if (!-e $request_filename) { rewrite ^/(.) /index.php?$1 last; }
区别是什么没有看出来
使用 / 需要配置好 nginx 以支持url pathinfo模式 至于nginx rewrite中的 $1 以及 如何配置nginx支持pathinfo 之类的 自行百度谷歌
如: 未支持pathinfo前 url类如 http://127.0.0.1/test.php?a=1&b=2 支持pathinfo后 就用 http://127.0.0.1/test.php/a/1/b/2
PHP8 Yaf3.3.3 按照官网配置 导致Nginx死循环:
2021/08/08 03:29:47 [error] 6188#6188: *2 rewrite or internal redirection cycle while processing "/index.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phpindex.phprbac_group", client: 172.17.0.1, server: www.admin.com, request: "GET /rbac_group HTTP/2.0", host: "www.admin.com:81", referrer: "https://www.admin.com:81/"
解决: Example #3 Rewrite rule
#for nginx
server {
listen ****;
server_name domain.com;
root document_root;
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^/(.*) /index.php?$1 last;
}
}
唯一的变化,是 多出1个 ?问号