当前位置: 首页 > 编程笔记 >

nginx中配置pathinfo模式示例

张鹏云
2023-03-14
本文向大家介绍nginx中配置pathinfo模式示例,包括了nginx中配置pathinfo模式示例的使用技巧和注意事项,需要的朋友参考一下

缘由

很久不使用apache了,渐渐对apache感到陌生,因为朋友有个ZendFramework框架从apache移到nginx下,需要pathinfo模式支持。

网上海搜

于是开始搜索nginx+pathinfo相关文章,一开以为很容易就会配置好。因为搜索后发现有大量文章介绍nginx开启pathinfo模式,感觉不是什么难事。但是经过几个小时下来,还是没有配置好。并且大量文章的内容都极其相似,基本都是转载的。
开始有点急了!因为一天过去了没有配好。

继续摸索

没办法,继续搜索。为了验证方便,我用a.com下载thinkphp框架搭了个环境。并且加了UserAction.class.php控制器类,在类里加了一个app方法并输出一行文字。
于是,我开始不断地改写nginx.conf文件重启nginx,不断的刷新a.com/index.php/User/app 地址。结果要么是地址损坏提示、502、Access defind.
又是一天过去了,开始感觉有点彷徨。

最后坚持

按理说我感觉应该有nginx+thinkphp的先例,只是我没有搜索到答案而已。突然间感觉网上好迷茫,一个小小的问题寻求不到解答。今晚,又试着使用nginx thinkphp关键字搜索,我一下点到十多页以后,找到一处代码


location / {        

    if (!-e $request_filename) {

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

                break;

        }

}

 

location ~ \.php {

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    include fcgi.conf;

    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;

}


保存修改,重启nginx,刷新浏览器
意想不到的页面出现了

居然能访问了,终于松了一口气,实在太不容易了。
贴出nginx.conf代码:


user  www www;

  

worker_processes 2;

worker_cpu_affinity 01 10;

  

error_log  /data1/logs/nginx_error.log  crit;

  

pid        /usr/local/webserver/nginx/nginx.pid;

  

worker_rlimit_nofile 65535;

  

events

{

  use epoll;

  worker_connections 65535;

}

  

http

{

  include       mime.types;

  default_type  application/octet-stream;

  

  server_names_hash_bucket_size 128;

  client_header_buffer_size 32k;

  large_client_header_buffers 4 32k;

  client_max_body_size 8m;

  

  sendfile on;

  tcp_nopush     on;

  

  keepalive_timeout 60;

  tcp_nodelay on;

  

  fastcgi_connect_timeout 300;

  fastcgi_send_timeout 300;

  fastcgi_read_timeout 300;

  fastcgi_buffer_size 64k;

  fastcgi_buffers 4 64k;

  fastcgi_busy_buffers_size 128k;

  fastcgi_temp_file_write_size 128k;

 

  server

  {

    listen 80;

    server_name a.com;

    index index.php;

    root /data0/htdocs/a.com/www;

 

        location / {        

        if (!-e $request_filename) {

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

                    break;

            }

    }

     

    location ~ \.php {

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        include fcgi.conf;

        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;

    }

  }

} 

养成好习惯

1、虽然最终还是解决问题了,但平日要记录一下重要的东西,网络不是万灵
2、就算出现问题也要大概知道什么原因?能不能实现?如何实现?
3、常遇到的问题要反思,举一反三,思考。

 类似资料:
  • 本文向大家介绍nginx配置支持php的pathinfo模式配置方法,包括了nginx配置支持php的pathinfo模式配置方法的使用技巧和注意事项,需要的朋友参考一下 nginx模式不支持pathinfo模式,类似info.php/hello形式的url会被提示找不到页面。下面的通过正则找出实际文件路径和pathinfo部分的方法,让nginx支持pathinfo。 要点: 1.~ \.php

  • 本文向大家介绍Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式,包括了Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式的使用技巧和注意事项,需要的朋友参考一下 概述 在上一篇文章Nginx配置Thinkphp支持URL Rewrite中已经介绍了如何配置Nginx支持ThinkPHP的URL Rewrite,但是上

  • 本文向大家介绍Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持,包括了Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持的使用技巧和注意事项,需要的朋友参考一下 打开Nginx的配置文件 /usr/local/nginx/conf/nginx.conf 一般是在这个路径,根据你的安装路径可能有所变化。如果你配置了vhost,而且只需

  • 本文向大家介绍Nginx配置PATHINFO隐藏thinkphp index.php,包括了Nginx配置PATHINFO隐藏thinkphp index.php的使用技巧和注意事项,需要的朋友参考一下 Nginx配置PATHINFO隐藏index.php Nginx配置文件里放入这段代码

  • 本文向大家介绍yii2.0实现pathinfo的形式访问的配置方法,包括了yii2.0实现pathinfo的形式访问的配置方法的使用技巧和注意事项,需要的朋友参考一下 yii2.0默认的访问形式为:dxr.com/index.php?r=index/list,一般我们都会配置成pathinfo的形式来访问:dxr.com/index/list,这样更符合用户习惯。 具体的配置方法为: 一.配置yi

  • 配置 NGINX NGINX 相关的配置可以单独写一本书,不过一开始,我们不会用到太多的配置选项。这本书主要介绍搭建一个 LEMP 环境的流程,你可以在相关资源里找到扩展学习的课程与资料。 先去看一下 NGINX 配置文件所在地。 查看 NGINX 的配置: cd /etc/nginx ls 返回: conf.d koi-utf mime.types nginx.conf