Thinkphp LNMP一键安装包1.1版配置pathinfo模式
2014-10-09 00:00
537 查看
摘要: Thinkphp LNMP一键安装包1.1版配置pathinfo模式 启用Rewrite
作为新手的我们配置服务器一个都会选用LNMP一键安装包。
在安装lnmp一键安装的时候,一般都没有开启访问pathinfo模式
这种模式在比较多的框架中用到,比如的ThinkPHP,今天小风摸索了大半天,总算是找到了方法
这个是lnmp.org(我装的就是这个,所以我以这个为例子)
开出来的虚拟机的配置中的一段(vhost/***.conf),找到对应的网站的程序
修改nginx配置文件也是这样修改
CSDN找到资料:
大家明显看到,location中的正则中,写了一个$,悲剧了,表示就此结束(?表示前面的php只匹配一次,这个只是随便提提)
最终,应该如此处理(location哪里也修改了,因为我没有用到php5处理):
参考的网络上搜索到的文档,带注释完整 版告诉大家:(复制到配置文件里面修改下,域名 和网站目录 lnmp 1.1里面就可以用了)
最后,还要注意php.ini中的cgi.fix_pathinfo=0要注释掉(即在前面加上分号;),然后重启php-fpm和nginx
作为新手的我们配置服务器一个都会选用LNMP一键安装包。
在安装lnmp一键安装的时候,一般都没有开启访问pathinfo模式
这种模式在比较多的框架中用到,比如的ThinkPHP,今天小风摸索了大半天,总算是找到了方法
这个是lnmp.org(我装的就是这个,所以我以这个为例子)
开出来的虚拟机的配置中的一段(vhost/***.conf),找到对应的网站的程序
修改nginx配置文件也是这样修改
CSDN找到资料:
location ~ .*\.(php|php5)?$ { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }
大家明显看到,location中的正则中,写了一个$,悲剧了,表示就此结束(?表示前面的php只匹配一次,这个只是随便提提)
最终,应该如此处理(location哪里也修改了,因为我没有用到php5处理):
location ~ \.php { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; 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; }
参考的网络上搜索到的文档,带注释完整 版告诉大家:(复制到配置文件里面修改下,域名 和网站目录 lnmp 1.1里面就可以用了)
server { listen 80; #注意修改域名为你的网站域名; server_name yourname.com; index index.html index.htm index.php ; #注意修改 网站存放目录 为你的网站对应目录 root /home/wwwroot/webdir; location ~ \.php { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; #初始化一个变量 set $path_info ""; #初始化一个变量,并且获取到一个原始赋值 set $real_script_name $fastcgi_script_name;   3ff0 ; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { #检测如果.php后面还存在/开始参数,将参数处理 set $real_script_name $1;#将第一个正则子串匹配到的赋值 set $path_info $2;#将第二个正则子串匹配到的赋值 } #修改SCRIPT_FILENAME值 fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; #修改SCRIPT_NAME值 fastcgi_param SCRIPT_NAME $real_script_name; #修改PATH_INFO值 fastcgi_param PATH_INFO $path_info; #上述三个赋值都是replace into的模式,这些值都是写在fastcgi.conf中 } location / { #Rewrite启用; if (!-e $request_filename) { rewrite ^\/(.*)$ /index.php/$1 last; break; } } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log off; }
最后,还要注意php.ini中的cgi.fix_pathinfo=0要注释掉(即在前面加上分号;),然后重启php-fpm和nginx
相关文章推荐
- Thinkphp LNMP一键安装包1.1版配置pathinfo模式
- LNMP一键安装包+Thinkphp搭建基于pathinfo模式的路由(可以去除url中的.php)
- LNMP一键安装包0.7版配置pathinfo模式
- 4000 lnmp1.4 一键安装包 nginx配置thinkphp5
- 军哥lnmp一键安装包nginx支持pathinfo配置
- LNMP 配置NGINX 支持THINKPHP PATHINFO模式
- lnmp1.3一键安装包环境让其支持pathinfo模式配置设置
- LNMP 配置NGINX 支持THINKPHP PATHINFO模式
- lnmp 一键安装包 nginx配置tp5 phpinfo模式 隐藏index.php
- LNMP 配置NGINX 支持THINKPHP PATHINFO模式
- 如何在安装的lnmp一键环境包(nginx)启用pathinfo URL模式
- LNMP一键安装包开启pathinfo和rewrite模式
- LNMP一键安装 1.1版本
- nginx 部署thinkphp 做的东西, 配置 Pathinfo 模式,终于配好了
- lnmp一键安装包配置laravel项目
- nginx配置使其支持thinkphp的pathinfo模式
- ThinkPHP->pathinfo模式(Linux下nginx的配置说明)
- nginx 下 thinkphp 502 bad Gateway + "LNMP一键安装包的Nginx 502 Bad Gateway错误可能原因及解决方法"
- Centos6.5中 一键安装LNMP 安装Yii2.0 手工配置
- Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持