nginx配置中rewrite的问题
程序员文章站
2022-05-03 14:43:40
...
我想实现用户请求
不存在的文件交给
x.com/api/dosomething
转发到网站根目录下的/api.php
处理.不存在的文件交给
/index.php
处理,nginx配置如下
if (!-e $request_filename) {
rewrite (.*) /index.php$1 last;
}
location ^~ /api/{
rewrite (.*) /api.php$1 last;
}
location ~ (index|api|admin).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
但是我发现访问x.com/api/dosomething
的时候匹配了 ! -e $request_filename
,调准顺序也没有用,请问应该如何配置
回复内容:
我想实现用户请求 x.com/api/dosomething
转发到网站根目录下的/api.php
处理.
不存在的文件交给 /index.php
处理,nginx配置如下
if (!-e $request_filename) {
rewrite (.*) /index.php$1 last;
}
location ^~ /api/{
rewrite (.*) /api.php$1 last;
}
location ~ (index|api|admin).php {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
但是我发现访问x.com/api/dosomething
的时候匹配了 ! -e $request_filename
,调准顺序也没有用,请问应该如何配置
咋一看配置没错啊,我本地试试再说。。。
上一篇: php面向对象中final类与final方法用法实例详解
下一篇: 编写php扩展函数返回值宏定义