关于lnmp下搭thinkPHP无法找打指定静态页面(求答案)(急)

php中文网
发布: 2016-06-23 14:39:30
原创
926人浏览过

我在lnmp 下架了一个thinkPHP框架对应的小网站,非常奇怪,在环境都配置好后(配置文件里默认模块是Index,默认方法是index),我在url里输入localhost:10007/index.php/member/login,正常来说应该显示login.html,但是显示的是index.html的页面,只是样式都不对,查看源代码后发现样式路径是这样的,/index.php/index.php/member/index/Tpl/css/style.css,后来我config.php里的配置项改了如下:

'DEFAULT_MODULE'=>'Member', //设置默认的控制器名称
'DEFAULT_ACTION'=>'login', //设置默认的方法名称

又回无论url输入什么都总停留在login.html对应页,但是样式不对,产看原代码后发现样式路径是这样的,/index.php/index.php/index/index/Tpl/css/passport.min.css

总之,好像我的'DEFAULT_MODULE'和'DEFAULT_ACTION'配置项配置成什么,url无论输入什么都回显示与配置文件中默认的模块和方法对应的html文件

 而且,应该也不是框架的问题,我从新下了个最新版本的thinkPHP,也不行,这次连index.html页面也显示不出来
我感觉就是我的那里配置不对,,但是又找不到!!!

主要的目录结构是这样:

App 
      index
             Conf
                   config.php
             Common
             Lang
             Runtime
             Lib
                   Action
                         IndexAction.class.php
                         MemberAction.class.php
             Tpl
                   default
                         Index
                                 index.html
                         Member
                                 login.html
                         js
                         css
                         images
      ThinkPHP  (ThinkPHP框架)
      index.php


index.php内容如下

<?phpheader("content-type:text/html;charset=utf-8");// 定义ThinkPHP框架路径(相对于入口文件)define('THINK_PATH', './ThinkPHP');    //定义项目名称和路径define('APP_NAME', 'myapp');define('APP_PATH', './index');define('BACK_URL','./index.php');// 加载框架入口文件 require(THINK_PATH."/ThinkPHP.php");//实例化一个网站应用实例App::run();?>
登录后复制

 
config.php页面
<?phpreturn array(    //'配置项'=>'配置值'    'DEFAULT_MODULE'=>'Index',    //设置默认的控制器名称    'DEFAULT_ACTION'=>'index',          //设置默认的方法名称    'APP_DEBUG'=>true,               //开启调试模式    'TMPL_L_DELIM'=> '{{',            // 模板引擎普通标签开始标记    'TMPL_R_DELIM'=> '}}',            // 模板引擎普通标签结束标记    'URL_MODEL'=> 0,    'DB_NAME'=> 'Route',    'DB_PREFIX'=> 'p_',    'TMPL_ENGINE_TYPE'=>'Smarty',    'TOKEN_ON'=>false,    'TOKEN_NAME'=>'__hash__',    'TOKEN_TYPE'=>'md5',    'DB_FIELDTYPE_CHECK'=>false,    'TMPL_ENGINE_CONFIG'=>array(        'caching'=>false,        'template_dir'=>TMPL_PATH,        'compile_dir'=>CACHE_PATH,        'cache_dir'=>TEMP_PATH,        'left_delimiter'=>"{{",        'right_delimiter'=>"}}"    ),    'TMPL_ACTION_ERROR'     => TMPL_PATH.'default/Public/error.html', // 默认错误跳转对应的模板文件    'TMPL_ACTION_SUCCESS'   => TMPL_PATH.'default/Public/success.html',);?>
登录后复制


IndexAction.class.php页面
<?php// 本文档自动生成,仅供测试运行class IndexAction extends Action{     /**    +----------------------------------------------------------    * 探针模式    +----------------------------------------------------------    */    public function checkEnv() {        load('pointer',THINK_PATH.'/Tpl/Autoindex');//载入探针函数        $env_table = check_env();//根据当前函数获取当前环境        echo $env_table;    }    //重新定义的内容    public function index() {        $this->display();    }}?>
登录后复制


MemberAction.class.php页面
<?phpclass   MemberAction  extends  Action{                          function   login(){                                                                  $this->display();         }}
登录后复制

index.html  和  login.html 是内容不同的两个静态页面


回复讨论(解决方案)

原来是因为nginx下默认不支持thinkPHP的url的pathinfo 模式,,需要更改nginx的配置文件

apache和nginx是存在很多差?的,不可相同?之
如果?nginx缺少?解的?最好是?用,否?就像csdn一?常常出? 50x 的??

恩,Apache与Nginx之间有很多差异,比如说rewrite重写规则就有一定的差异...

如果有人也遇到同样问题,可以参考这个网址,,但我没成功,我不是完全按他的来的。。http://blog.fity.cn/post/416/

恩,,回头学习下nginx以后肯定会经常接触

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号