NGINX 开启PATHINFO
2012-11-02 12:35
127 查看
最近在学习php,《PHP和MySQL Web开发》零零碎碎的算是看完了,讲了一下基础的东西,对于入门是足够了。前几天开始些项目,是在先前别人的基础上写的,同时有事两个人一起写。完成之后看了看,代码太乱了,包括代码结构和命名规范。遂决定找点着方便的资料。
在网上搜来搜去,找到了篇挺不错的PHP框架(ThinkPHP)教程:http://www.thinkphp.cn/info/155.html 着实还不错,推荐学习PHP的同学看看。
这篇教程的默认环境是wamp的,由于我用的是NGINX,在学习第二篇的时候就遇到了问题。ThinkPHP支持的URL模式:PATHINFO NGINX默认配置是不支持的。本以为是自己ThinkPHP环境配置的问题,后来删了所有的相关文件(我的一贯作风–屡试不爽),重新配置ThinkPHP环境,可是还是同样的报404错误。这样的话只能是Nginx和php配置的问题了。
URL首先是通过Nginx解析的,先从Nginx下手。猜想Nginx是不是不支持ThinkPHP的PATHINFO呢。于是百度一下,便一目了然了。
试了几篇博文的方法,最后终于弄好了。
废话结束
打开Nginx的配置文件nginx.conf
在server中加入一下配置:
location ~ .php {
root d:/ThinkPHP/;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
#pathinfo support
set $real_script_name $fastcgi_script_name;
set $path_info ””;
if ( $fastcgi_script_name ~ “^(.+?.php)(/.+)$”){
set $real_script_name $1;
set $path_info $2;
} fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
需要注意的是那个if判断语句,在(的前后都必须有空格,否则Nginx会报配置语法错误。
参考:http://blog.csdn.net/bing19880122/article/details/5849139
在网上搜来搜去,找到了篇挺不错的PHP框架(ThinkPHP)教程:http://www.thinkphp.cn/info/155.html 着实还不错,推荐学习PHP的同学看看。
这篇教程的默认环境是wamp的,由于我用的是NGINX,在学习第二篇的时候就遇到了问题。ThinkPHP支持的URL模式:PATHINFO NGINX默认配置是不支持的。本以为是自己ThinkPHP环境配置的问题,后来删了所有的相关文件(我的一贯作风–屡试不爽),重新配置ThinkPHP环境,可是还是同样的报404错误。这样的话只能是Nginx和php配置的问题了。
URL首先是通过Nginx解析的,先从Nginx下手。猜想Nginx是不是不支持ThinkPHP的PATHINFO呢。于是百度一下,便一目了然了。
试了几篇博文的方法,最后终于弄好了。
废话结束
打开Nginx的配置文件nginx.conf
在server中加入一下配置:
location ~ .php {
root d:/ThinkPHP/;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
#pathinfo support
set $real_script_name $fastcgi_script_name;
set $path_info ””;
if ( $fastcgi_script_name ~ “^(.+?.php)(/.+)$”){
set $real_script_name $1;
set $path_info $2;
} fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
需要注意的是那个if判断语句,在(的前后都必须有空格,否则Nginx会报配置语法错误。
参考:http://blog.csdn.net/bing19880122/article/details/5849139
相关文章推荐
- lnmp环境中如何为nginx开启pathinfo
- nginx安装ci,开启pathinfo模式
- apache、nginx开启pathinfo
- nginx下开启pathinfo模式
- lnmp nginx 开启pathinfo
- nginx开启pathinfo模式的两种方式
- TPshop5最新版 安装 nginx 开启PATHINFO 模式资源加载路径加载失败问题,适用tp3.2PATHINFO模式REWRITE模式
- MNMP下nginx1.6开启支持pathinfo配置,支持thinkphp的URL格式
- Nginx 开启PATHINFO支持ThinkPHP框架实例
- nginx下开启pathinfo模式
- mac上的lnmp环境vhost设置和nginx开启pathinfo
- nginx开启pathinfo
- 宝塔面板nginx 开启pathinfo模式
- lnmp一键安装环境中nginx开启pathinfo
- tp5 url 线上访问 在nginx 上 出现404错误,解决办法(1.80nginx 配置 pathInfo)
- 利用Nginxcp为cPanel/WHM服务器开启nginx支持
- Wordpress3.9开启多站点配置配置nginx进行局域网测试.
- nginx 支持 pathinfo
- studyphp环境软件Nginx隐藏index.php和Pathinfo模式配置例子
- nginx中配置pathinfo模式示例