Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.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_.htaccess_Nginx_Url Rewriting - Fatal编程技术网

nginx重写不以.php扩展名结束

nginx重写不以.php扩展名结束,php,.htaccess,nginx,url-rewriting,Php,.htaccess,Nginx,Url Rewriting,我正在使用nginx重写一个类似 http://www.sample.com/application至http://www.sample.com/index.php/application 重写规则是 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 break; } 我的fastcgi配置是 location ~ \index.php { fastcgi_spl

我正在使用nginx重写一个类似
http://www.sample.com/application
http://www.sample.com/index.php/application

重写规则是

if (!-e $request_filename) {
                rewrite ^/(.*)$ /index.php/$1 break;
}
我的fastcgi配置是

location ~ \index.php {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
但是重写规则不起作用。
我浏览
http://www.sample.com/index.php/application
也不起作用。
/应用程序
未传递到index.php


有什么问题吗?

如果从
重写规则中
中断
,位置上下文将保持不变。您需要使用
last
not
break
,以便最终找到您的fastcgi位置

此外,在正则表达式规则中还有一个多余的反斜杠。可能是:

location ~ ^/index.php { ... } 

如果从
重写
规则中
中断
,则位置上下文保持不变。您需要使用
last
not
break
,以便最终找到您的fastcgi位置

此外,在正则表达式规则中还有一个多余的反斜杠。可能是:

location ~ ^/index.php { ... } 

对不起,它坏了。没有将/application arg传递给index.php。@我已经测试过了,它确实有效。您的
index.php
如何接收参数取决于您在
fastcgi_参数中输入的内容。它将接收作为请求URI的一部分的
/application
,但如果要添加路径信息参数,可能需要添加自己的
fastcgi\u参数
请参见抱歉。它不起作用。没有将/application arg传递给index.php。@我已经测试过了,它确实有效。您的
index.php
如何接收参数取决于您在
fastcgi_参数中输入的内容。它将接收作为请求URI的一部分的
/application
,但如果要添加PATH\u INFO参数,可能需要添加自己的
fastcgi\u参数
请参阅