nginx重写不以.php扩展名结束
我正在使用nginx重写一个类似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
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
notbreak
,以便最终找到您的fastcgi位置
此外,在正则表达式规则中还有一个多余的反斜杠。可能是:
location ~ ^/index.php { ... }
如果从重写
规则中中断
,则位置上下文保持不变。您需要使用last
notbreak
,以便最终找到您的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参数
请参阅