Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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将所有请求重写为引导php文件_Php_Apache_Nginx_Rewrite - Fatal编程技术网

如何配置nginx将所有请求重写为引导php文件

如何配置nginx将所有请求重写为引导php文件,php,apache,nginx,rewrite,Php,Apache,Nginx,Rewrite,我计划从apache迁移到nginx,但是这种重写的东西一直拖累着我。真郁闷 在apache.htaccess中,我有一行代码来做正确的事情: RewriteRule .* index.php/$0 [PT,L] 这意味着一切,比如: http://example.com/a/b/c/d 将重写为: http://example.com/index.php/a/b/c/d 当我进入nginx时,我希望conf中的这一行代码也能实现同样的效果: rewrite ^(.*) /index.ph

我计划从apache迁移到nginx,但是这种重写的东西一直拖累着我。真郁闷

在apache
.htaccess
中,我有一行代码来做正确的事情:

RewriteRule .* index.php/$0 [PT,L]
这意味着一切,比如:

http://example.com/a/b/c/d
将重写为:

http://example.com/index.php/a/b/c/d
当我进入nginx时,我希望conf中的这一行代码也能实现同样的效果:

rewrite ^(.*) /index.php/$1     last;

但是,它一直给我404页

这确实是一行代码:

try_files $uri $uri/ /index.php?$args;

您可以使用以下解决方案配置Nginx,将所有请求重写到引导PHP文件中:

if (!-e $request_filename){
    rewrite (.*) /index.php$1;
}

更好的代码格式。这个问题在其他方面是合理的。