帮助文档

让你轻松解决建站问题

关于nginx的配置和伪静态。nginx需要比较专业的配置环境……

(1)要使nginx支持本程序,首先配置nginx支持pathinfo
打开php配置文件 /usr/local/php/ect/php.ini ,找到配置项cgi.fix_pathinfo设置为1,cgi.fix_pathinfo=1,设置好以后,保存,并命令行模式下运行以下命令,重启php
[root]# /etc/init.d/php-fpm restart
Shutting down php_fpm . done
Starting php_fpm  done
(2)打开nginx配置文件 /usr/local/nginx/conf/nginx.conf(如果你配置了vhost,而且只需要你这一个vhost支持pathinfo的话,可以直接打开你的vhost的配置文件)
找到类似如下代码(不同版本的nginx可能稍有不同,但是相差不会很远):
    location ~ .*.(php|php5)?$
        {
                #原有代码
        }

修改为以下代码:

#去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo
#如果你不需要用到php5后缀,也可以将其去掉
location ~ .php
        {
                #原有代码
                
                #定义变量 $path_info ,用于存放pathinfo信息
                set $path_info "";
                #定义变量 $real_script_name,用于存放真实地址
                set $real_script_name $fastcgi_script_name;
                #如果地址与引号内的正则表达式匹配
                if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") {
                        #将文件地址赋值给变量 $real_script_name
                        set $real_script_name $1;
                        #将文件地址后的参数赋值给变量 $path_info
                        set $path_info $2;
                }
                #配置fastcgi的一些参数
                fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
                fastcgi_param SCRIPT_NAME $real_script_name;
                fastcgi_param PATH_INFO $path_info;
}

#以下这段代码用于开启伪静态
if (!-e $request_filename) {
  rewrite  ^/(.*)$  /index.php/$1  last;
  break;
}
如下图所示:
配置要以后,需要重新启动nginx,运行如下命令重启nginx:
[root]# service nginx restart
至此,一个支持pathinfo和伪静态规则的nginx服务器已经配置好,经实际测试系统的静态和伪静态功能都正常!
不同的linux服务器会有所不同,关键是找php.ini文件,这个是php配置文件
看看自己是什么linux服务器,百度一下php.ini文件的位置。其步骤大同小异,大家可以尝试安装。

注意了,如果您不是专业的技术人员,对nginx服务器环境不熟的,我们建议您不要轻易使用这种环境。因为系统对nginx服务器环境配置要求比较高,需要设置比较专业的规格。
我们只提供大致的思路,不负责做环境配置以及相关的技术指导。


本文由Alan网页开发中心:网站模板整理发布,转载请说明出处:http://www.vslan.cn