`
275553385
  • 浏览: 728586 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
文章分类
社区版块
存档分类
最新评论

nginx支持path_info

阅读更多
转载  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;
 




分享到:
评论
1 楼 275553385 2013-05-21  
        location ~ \.php {
            fastcgi_pass   unix:/dev/shm/php-fpm5.3.socket;
            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_params;
        }

还需要修改下fastcgi_params文件中的

相关推荐

    nginx下支持PATH_INFO的方法实例详解

    为了让Nginx支持PATH_INFO,我们需要配置Nginx以正确设置$_SERVER['PATH_INFO']的值,并可能需要修改php.ini配置中的cgi.fix_pathinfo参数。 php.ini中的cgi.fix_pathinfo参数用于控制PHP处理PATH_INFO的方式。当...

    nginx.config_nginx_

    - Nginx支持HTTPS,配置证书和密钥: ```nginx ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; ``` 上述配置指定了SSL证书和私钥文件路径。 9. **安全设置** - 可以...

    nginx_upload_module 加lua 实现上传

    local file_path = file_info["upload_field_name"]["path"] -- 这里可以添加文件大小验证、类型检查等逻辑 -- 存储文件元数据到数据库 local db = require "resty_mysql" local ok, err = db:new() -- 连接数据库...

    Nginx配置支持ThinkPHP的PATH_INFO

    在部署ThinkPHP项目到Ubuntu服务器时,除了配置Nginx以支持PATH_INFO外,还需要确保ThinkPHP框架的其他配置正确,比如数据库连接、应用参数配置等。 10. 解决方案记录与未来研究: 在文档中提及,在解决问题的过程...

    Nginx如何实现pathinfo模式的方法详解

    pathinfo是伪静态的一种,对于用过thinkphp的朋友们来说应该都不陌生,下面这篇文章主要给大家介绍了关于Nginx如何实现pathinfo模式的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。

    nginx 配置pathinfo

    nginx默认不支持pathinfo,最近在调用而支付宝的回调接口 只能使用这种模式

    nginx 开启 pathinfo的过程详解

    要使Nginx支持PathInfo,需要在location块中设置fastcgi相关的参数,将PathInfo传递给PHP解析器。配置示例如下: ``` location ~ \.(php|php5)(.*)?$ { fastcgi_pass ***.*.*.*:9000; fastcgi_index index.php; ...

    nginx配置支持php的pathinfo模式配置方法

    在Nginx配置文件中,你可以选择将这些修改集成到`fastcgi_params`文件,或者在每个需要支持PathInfo的`location`块中直接写入。以下是一个示例配置: ```nginx server { listen 8080; server_name localhost; #...

    让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享

    标题中的“让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享”是指在使用Nginx作为Web服务器时,如何配置Nginx以适应ThinkPHP框架的URL重写规则和PATHINFO模式。ThinkPHP是一款流行的PHP开发框架,它的URL重写功能...

    nginx+php,让nginx支持PHP的PATHINFO路由模式_亲测成功.zip

    nginx+php,让nginx支持PHP的PATHINFO路由模式_亲测成功.zip apache+php支持PATHINFO路由模式非常容易,但是nginx对pathinfo可不支持,需要你自己配置正则路径.看看我怎么配的

    在nginx中配置pathinfo模式支持thinkphp的URL重写

    最近一个项目中使用了ThinkPHP做为开发框架,URL上我们使用了PATHINFO模式,但是Nginx默认是不支持PATHINFO的,需要进行手动配置才可以,于是我们按照了以下方法进行了Nginx的PATHINFO支持配置:修改nginx.conf,...

    Nginx(PHP/fastcgi)的PATH_INFO问题

    都会认为是对info.php的访问, 并会设置PATH_INFO为dummy 而对于Nginx下, 是不支持PATH INFO的, 也就是它不会默认设置PATH_INFO. 而因为默认的配置文件对PHP的支持只是很基础的, 所以对于默认配置来说对于上面的访问...

    解决nginx不支持thinkphp中pathinfo的问题

    其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持pathinfo。为了使问题简单化,我选择了第一种方式,因为就第二种方式,我查了很多资料,发现...

    lnmp环境中如何为nginx开启pathinfo

    在启用PATH_INFO时,为了避免与pathinfo.conf中相关的指令冲突,需要对nginx.conf文件中的try_files指令进行处理。具体操作是将其注释掉,这样Nginx就不会直接尝试提供文件,而是根据配置规则处理请求。 具体操作...

    nginx中配置pathinfo模式示例

    在Nginx服务器环境中,配置PathInfo模式是为了支持如PHP框架(例如ThinkPHP)中URL路由的特殊形式,其中URL中的参数部分会跟在.php文件名后面。PathInfo模式允许服务器将这部分信息传递给后端的FastCGI进程,以便...

    Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持

    在Nginx中,我们需要特别配置以启用pathinfo支持。 1. 打开Nginx配置文件:通常位于`/usr/local/nginx/conf/nginx.conf`,或者根据你的安装路径可能会有所不同。如果你使用了虚拟主机(vhost),那么可以直接编辑对应...

    Nginx隐藏index.php和Pathinfo模式配置例子

    为了使Pathinfo模式正常工作,还需要在后端的PHP-FPM配置中支持PATH_INFO。在php.ini中,确保`cgi.fix_pathinfo=1`,或者在php-fpm的配置文件中设置相应的环境变量。 总结来说,这个Nginx配置示例展示了如何在不...

Global site tag (gtag.js) - Google Analytics