ThinkPHP Nginx pathinfo rewrite 配置
来源:互联网 发布:ubuntu dpkg安装deb包 编辑:程序博客网 时间:2024/03/29 15:46
做项目用到ThinkPHP框架,在Linux+Apache下面是正常的,但是在Linux+Nginx上面运行不出来,网上找了各种办法,才发现是nginx pathinfo默认没有开启和ThinkPHP rewrite的问题,下面是具体的配置,有需要的朋友可以参考下。
服务器环境:LNMP 1.2,php 5.3,mysql 5.6.23,nginx 1.8.0;
我是在/usr/local/nginx/conf/vhost下面新建的虚拟主机,test.abc.com.conf,这个需要在/usr/local/nginx/conf/nginx.conf里面引入,不懂得可以百度下。
下面是配置文件test.abc.com.conf的内容:
server { listen 80; server_name test.abc.com; root /home/www/abc; # thinkphp的路径 location / { index index.php index.html index.htm; #如果请求既不是一个文件,也不是一个目录,则执行以下重写规则 if (!-e $request_filename) { #地址作为将参数rewrite到index.php上。 rewrite ^/(.*)$ /index.php/$1; } } #proxy the php scripts to php-fpm location ~ \.php { include fastcgi.conf; ##pathinfo支持start #定义变量 $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; ###pathinfo支持end fastcgi_intercept_errors on; ##LNMP pass值这个 原生的是 127.0.0.1:9000 fastcgi_pass unix:/tmp/php-cgi.sock; } }
将URL_MODEL的值设置成’2’;
然后重启nginx和php-fpm;
然后就发现页面是出来了,功能没用。。。。
最后在网上找到是因为:当php.ini 的 cgi.fix_pathinfo=0时 PHP_FILE获取的值是.php,导致U函数生成URL不正确;
然后说改为1就好,但是会有安全隐患,我对这个了解不深,希望网友能找到更合适的解决方法,目前 我是在php.ini 把 cgi.fix_pathinfo=0给注释掉了。。。
希望对大家有所帮助,也欢迎大家拍砖吐槽。
0 0
- ThinkPHP Nginx pathinfo rewrite 配置
- nginx配置ThinkPHP Rewrite
- mac thinkphp3.2 nginx配置rewrite pathinfo
- Nginx下使Thinkphp URL模式支持PATHINFO和REWRITE
- Nginx下使Thinkphp URL模式支持PATHINFO和REWRITE
- nginx配置ThinkPHP Rewrite
- 配置修改Nginx支持ThinkPHP的PATHINFO
- nginx配置 thinkphp需要的pathinfo
- LNMP 配置NGINX 支持THINKPHP PATHINFO模式
- 配置nginx适应Thinkphp的URL rewrite
- THINKPHP rewrite模式在nginx下配置
- Nginx配置thinkPHP 支持phpinfo和rewrite
- thinkphp 在 nginx 中配置 (rewrite)
- Nginx下实现ThinkPHP的pathinfo及URL Rewrite模式支持
- Nginx下实现pathinfo及ThinkPHP的URL Rewrite模式支持
- Nginx下实现pathinfo及ThinkPHP的URL Rewrite模式支持
- Nginx下实现pathinfo及ThinkPHP的URL Rewrite模式支持
- Nginx下实现pathinfo及ThinkPHP的URL Rewrite模式支持
- 测试Heartbeat
- 【Python】输出程序执行的百分比
- c# List<T>与ObservableCollection<T>
- hdu 1869 六度分离(Floyd算法)
- 关于fragment中嵌套viewpager的问题
- ThinkPHP Nginx pathinfo rewrite 配置
- 如何printf64位整型!
- 机器学习--python之学会如何从文件逐行读取数据
- opencv图片格式转换
- 5 Binary String Matching【kmp】
- Lvs之NAT、DR、TUN三种模式的应用配置案例
- ActiveMQ高级特性:虚拟Destinations实现消费者分组与简单路由 .
- javascript知识点(二)
- python对象序列化