很奇怪的url解析问题
本帖最后由 bogy 于 2011-8-15 21:51 编辑使用2.0.2开发的一个查询系统,本地局域网调试一切正常后上传到公司服务器,
发现只能看到首页,无法登录。
关键控制器加断点后调试发现,
default controller是login,调用的login_view里,登陆数据提交到defaultp这个控制器。
但是点击后,没有走到目标控制器上,反而跳回login这里。从调试信息能看出来。
请教:怎么会不去目标地址呢? 是否和linux有关系?但是所有文件名都是小写啊。
网站地址:www.colightamc.com/oa
高手请指教!
补充信息:以前曾经用1.7.3在外网做过简单测试,貌似能用的。
可能是session目录没有权限 啊。。这个。 session目录在哪里?
我查看了oa目录下子目录权限都为755. 可是,就算是session目录出了问题,我用 域名/index.php/控制器名 的方式访问也不会走到那个控制器的位置吗? session目录在php.ini里面,反复跳回登陆页,很明显是你的session验证无法保存结果 通过空间服务商客服找到了session目录,是可写的。唉。没概念了。 向大家通报最新进展:
1.本地局域网仍然一切正常。
2.远端服务器我又建立了一个1.7.3版本的ci目录,运作一切正常,URL解析和控制器都正常。
可以断定不是服务器配置问题,故障肯定出在2.0.2的配置上。
有没有大侠有兴趣看看啊。 bogy 发表于 2011-8-16 10:39 static/image/common/back.gif
向大家通报最新进展:
1.本地局域网仍然一切正常。
2.远端服务器我又建立了一个1.7.3版本的ci目录,运作一 ...
贴代码~ 本帖最后由 bogy 于 2011-8-16 13:14 编辑
我已在远程服务器用1.7.3重写了系统,运行正常。
2.0.2找不到问题。
关键代码如下:
(config: baseurl="")
login.php :
<?php
class Login extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
//echo "this is login.php controller debug infomation!";
$this->load->view('login_view');
}
}
?>
login_view.php (form部分):
<form name="myform" action="<?php echo site_url("/defaultp"); ?>" method="post">
<table id="login">
<tr>
<td>用户名:</td>
<td><input type="text" name="userName" id="username" size="32"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" id="password" size="32"/></td>
</tr>
<tr>
<td></td>
<td>
<input type="image" src="<?php echo base_url(); ?>images/login.gif" name="submit" />;
<input type="image" src="<?php echo base_url(); ?>images/cancel.gif" name="cancel" />
</td>
</tr>
</table>
</form>
注意:此view文件显示一切正常。点击登录之后理论上应该跳到defaultp控制器。
但是提交后,页面跳回login.php这个控制器(从调试信息能看出的),仍然是登陆页面。
defaultp.php:
<?php
class Defaultp extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
//注意:程序根本没走到这里。
$this->load->model('MLogin');
$this->MLogin->login($_POST);
}
}
?>
试图用 域名/index.php/控制器名, 任意字符串都不行,直接跳回登陆页面。
供大家参考。
程序看起来没什么问题。
你有写路由规则吗?你的默认控制器是哪个?
页:
[1]
2