怎么理解 nginx 中 rewrite 的用法
发布网友
发布时间:2022-04-20 09:34
我来回答
共2个回答
热心网友
时间:2023-09-06 12:57
字面意思就是把abc.com/xxx按abc.com/index.php/xxx来解析
对于/index.php/abc这种url,Apache和lighttpd会按"index.php?abc"来解释,而nginx会认为是请求名字是“index.php”的目录下的abc文件的内容。所以一些框架,如CI,在nginx下不配置rewrite是无法运行的,而在Apache和lighttpd则正常。另外,好像nginx里index.php会转换成index_php,(未求证)
解决方法是
location /
{
index index.php;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?$1 last;
break;
}
}
热心网友
时间:2023-09-06 12:57
非常好用,很灵活,可以让你的服务器支持更多复杂业务