文档章节

基于thinkphp框架开发的项目在lnmp环境下,出现除了主页能显示,访问其他页面都抛出404异常

q
 qqsoul
发布于 2016/03/23 09:08
字数 491
阅读 58
收藏 0

        php新手入门,自己开发了一个小网站,使用的是thinkphp3.2框架,开发及测试阶段是在windows下使用xmapp集成环境,后需要移植到lnmp环境下,结果除 了首页能访问,其他的页面全部抛出404页面。

      后来在百度上查看各种“文献”之后,终于找到原因:

        1、由于thinkphp框架URL_MODEL(url访问模式)默认使用的是1(PATHINFO模式)详见 ThinkPHP/Conf/conventon.php文件138行,且nginx默认是不支持PATHINFO模式,所有造成路径 的解 析错误。

        2、可能有童鞋在看到此片博文之前,还浏览过其他博主书写的相关文章,肯定也见过是因为存在与ThinkPHP下的.htaccess文件中的默认重写规则只适应apache,而在nginx中不支持,需要转换重写规则,本人一开始也是按照这种方式修改的,结果是不好使的,可能我的修改的方式不正确,在此希望有高人能指点此方法的正确修改方式,谢谢!!!

    下面介绍下本人正确的操作方式

        1.使用xshell链接Linux服务器,进入nginx配置文件下

         

        2、此处,我配置了一台虚拟主机,进入到vhosts下对应主机的配置

            

        3、编辑且修改对应的 文件,此处是default.conf,为了以后方便复制,直接把代码贴上,你也可以直接浏览nginx官网上的相关介绍http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_split_path_info


            

         相关配置:


server {
        listen       80;
        server_name  localhost;
        index index.html index.htm index.php;
        root /alidata/www;
        location ~ ^(.+\.php)(.*)$
        {
                fastcgi_split_path_info       ^(.+\.php)(.*)$;
                fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name;
                fastcgi_param PATH_INFO       $fastcgi_path_info;
                #fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
                expires 30d;
        }
        location ~ .*\.(js|css)?$
        {
                expires 1h;
        }
        #α¾²Ì¬¹æÔò
        include /alidata/server/nginx/conf/rewrite/default.conf;
        access_log  /alidata/log/nginx/access/default.log;
}

© 著作权归作者所有

q
粉丝 0
博文 2
码字总数 1450
作品 0
昌平
私信 提问
php 我要上班

会的技术: PHP:能熟练使用PHP开发网站,会使用ThinkPHP(其他框架未使用,但是相信1天学会) 了解mvc设计模式。 html:不会设计,只会用div+css进行布局,会JS及简单特效 项目经验 OA 办公...

这回
2013/01/08
1K
14
北京求职php相关工作,实习皆可

会的技术: PHP:能熟练使用PHP开发网站,会使用ThinkPHP(其他框架未使用,但是相信1天学会) 了解mvc设计模式。 html:不会设计,只会用div+css进行布局,会JS及简单特效 项目经验 OA 办公...

这回
2012/12/09
630
11
XAMPP和ThinkPHP 5.0的安装和验证

工欲善其事必先利其器,对搞开发的攻城狮来讲,其器就是各种开发工具和开发环境,而这些在刚入门的时候由于不熟悉,往往是花费时间和精力最多的地方。记得我上大学那会,自学PHP光安装Apach...

仃虽楠
2018/05/09
0
0
Nginx中配置thinkphp的URL重写

前言 公司项目中使用了thinkphp框架,部署在apache中,很方便,可以参考thinkphp官网的doc:Apache URL重写。 而在nginx下,网上没有很具体的文档,都是根据自己项目所配置,拿到别的项目中就...

DragonFK
2013/02/23
7.2K
0
【开源访谈】ThinkPHP 作者刘晨访谈实录

关于开源访谈 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源...

虫虫
2012/07/25
21K
52

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
43
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部