用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3966|回复: 16
收起左侧

[已解决] 很奇怪的url解析问题

[复制链接]
发表于 2011-8-15 21:49:49 | 显示全部楼层 |阅读模式
本帖最后由 bogy 于 2011-8-15 21:51 编辑

使用2.0.2开发的一个查询系统,本地局域网调试一切正常后上传到公司服务器,
发现只能看到首页,无法登录。
关键控制器加断点后调试发现,
default controller是login,调用的login_view里,登陆数据提交到defaultp这个控制器。
但是点击后,没有走到目标控制器上,反而跳回login这里。从调试信息能看出来。

请教:怎么会不去目标地址呢? 是否和linux有关系?但是所有文件名都是小写啊。

网站地址:www.colightamc.com/oa
高手请指教!

补充信息:以前曾经用1.7.3在外网做过简单测试,貌似能用的。
发表于 2011-8-15 22:41:34 | 显示全部楼层
可能是session目录没有权限
 楼主| 发表于 2011-8-15 22:49:07 | 显示全部楼层
啊。。这个。 session目录在哪里?
我查看了oa目录下子目录权限都为755.
 楼主| 发表于 2011-8-15 22:54:46 | 显示全部楼层
可是,就算是session目录出了问题,我用 域名/index.php/控制器名 的方式访问也不会走到那个控制器的位置吗?
发表于 2011-8-16 09:27:15 | 显示全部楼层
session目录在php.ini里面,反复跳回登陆页,很明显是你的session验证无法保存结果
 楼主| 发表于 2011-8-16 10:21:36 | 显示全部楼层
通过空间服务商客服找到了session目录,是可写的。唉。没概念了。
 楼主| 发表于 2011-8-16 10:39:06 | 显示全部楼层
向大家通报最新进展:
1.本地局域网仍然一切正常。
2.远端服务器我又建立了一个1.7.3版本的ci目录,运作一切正常,URL解析和控制器都正常。

可以断定不是服务器配置问题,故障肯定出在2.0.2的配置上。
有没有大侠有兴趣看看啊。
发表于 2011-8-16 11:59:51 | 显示全部楼层
bogy 发表于 2011-8-16 10:39
向大家通报最新进展:
1.本地局域网仍然一切正常。
2.远端服务器我又建立了一个1.7.3版本的ci目录,运作一 ...

贴代码~
 楼主| 发表于 2011-8-16 13:10:17 | 显示全部楼层
本帖最后由 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/控制器名, 任意字符串都不行,直接跳回登陆页面。

供大家参考。



发表于 2011-8-16 13:29:11 | 显示全部楼层
程序看起来没什么问题。
你有写路由规则吗?你的默认控制器是哪个?

本版积分规则