• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-23) 23次浏览 已收录 0个评论
文章目录[隐藏]

我在lnmp 下架了一个thinkPHP框架对应的小网站,非常奇怪,在环境都配置好后(配置文件里默认模块是Index,默认方法是index),我在url里输入localhost:10007/index.php/member/login,正常来说应该显示login.html,但是显示的是index.html的页面,只是样式都不对,查看源代码后发现样式路@本文9来源gao($daima.com搞@代@#码8网^搞代gaodaima码径是这样的,/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以后肯定会经常接触


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于lnmp下搭thinkPHP无法找打指定静态页面(求答案)(急)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址