转载 http://blog.aim-china.com/?p=187
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
include fastcgi_pamrms;
}
## 以上是支持pathinfo的重点部分
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fastcgi_param SCRIPT_NAME $fastcgi_script_name; 这两行是需要注释掉的。请注意,否则会出故障
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
分享到:
相关推荐
为了让Nginx支持PATH_INFO,我们需要配置Nginx以正确设置$_SERVER['PATH_INFO']的值,并可能需要修改php.ini配置中的cgi.fix_pathinfo参数。 php.ini中的cgi.fix_pathinfo参数用于控制PHP处理PATH_INFO的方式。当...
- Nginx支持HTTPS,配置证书和密钥: ```nginx ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; ``` 上述配置指定了SSL证书和私钥文件路径。 9. **安全设置** - 可以...
local file_path = file_info["upload_field_name"]["path"] -- 这里可以添加文件大小验证、类型检查等逻辑 -- 存储文件元数据到数据库 local db = require "resty_mysql" local ok, err = db:new() -- 连接数据库...
在部署ThinkPHP项目到Ubuntu服务器时,除了配置Nginx以支持PATH_INFO外,还需要确保ThinkPHP框架的其他配置正确,比如数据库连接、应用参数配置等。 10. 解决方案记录与未来研究: 在文档中提及,在解决问题的过程...
pathinfo是伪静态的一种,对于用过thinkphp的朋友们来说应该都不陌生,下面这篇文章主要给大家介绍了关于Nginx如何实现pathinfo模式的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
nginx默认不支持pathinfo,最近在调用而支付宝的回调接口 只能使用这种模式
要使Nginx支持PathInfo,需要在location块中设置fastcgi相关的参数,将PathInfo传递给PHP解析器。配置示例如下: ``` location ~ \.(php|php5)(.*)?$ { fastcgi_pass ***.*.*.*:9000; fastcgi_index index.php; ...
在Nginx配置文件中,你可以选择将这些修改集成到`fastcgi_params`文件,或者在每个需要支持PathInfo的`location`块中直接写入。以下是一个示例配置: ```nginx server { listen 8080; server_name localhost; #...
标题中的“让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享”是指在使用Nginx作为Web服务器时,如何配置Nginx以适应ThinkPHP框架的URL重写规则和PATHINFO模式。ThinkPHP是一款流行的PHP开发框架,它的URL重写功能...
nginx+php,让nginx支持PHP的PATHINFO路由模式_亲测成功.zip apache+php支持PATHINFO路由模式非常容易,但是nginx对pathinfo可不支持,需要你自己配置正则路径.看看我怎么配的
最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置:修改nginx.conf,...
都会认为是对info.php的访问, 并会设置PATH_INFO为dummy 而对于Nginx下, 是不支持PATH INFO的, 也就是它不会默认设置PATH_INFO. 而因为默认的配置文件对PHP的支持只是很基础的, 所以对于默认配置来说对于上面的访问...
其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持pathinfo。为了使问题简单化,我选择了第一种方式,因为就第二种方式,我查了很多资料,发现...
在启用PATH_INFO时,为了避免与pathinfo.conf中相关的指令冲突,需要对nginx.conf文件中的try_files指令进行处理。具体操作是将其注释掉,这样Nginx就不会直接尝试提供文件,而是根据配置规则处理请求。 具体操作...
在Nginx服务器环境中,配置PathInfo模式是为了支持如PHP框架(例如ThinkPHP)中URL路由的特殊形式,其中URL中的参数部分会跟在.php文件名后面。PathInfo模式允许服务器将这部分信息传递给后端的FastCGI进程,以便...
在Nginx中,我们需要特别配置以启用pathinfo支持。 1. 打开Nginx配置文件:通常位于`/usr/local/nginx/conf/nginx.conf`,或者根据你的安装路径可能会有所不同。如果你使用了虚拟主机(vhost),那么可以直接编辑对应...
为了使Pathinfo模式正常工作,还需要在后端的PHP-FPM配置中支持PATH_INFO。在php.ini中,确保`cgi.fix_pathinfo=1`,或者在php-fpm的配置文件中设置相应的环境变量。 总结来说,这个Nginx配置示例展示了如何在不...