bogy 发表于 2011-8-15 21:49:49

很奇怪的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在外网做过简单测试,貌似能用的。

visvoy 发表于 2011-8-15 22:41:34

可能是session目录没有权限

bogy 发表于 2011-8-15 22:49:07

啊。。这个。 session目录在哪里?
我查看了oa目录下子目录权限都为755.

bogy 发表于 2011-8-15 22:54:46

可是,就算是session目录出了问题,我用 域名/index.php/控制器名 的方式访问也不会走到那个控制器的位置吗?

visvoy 发表于 2011-8-16 09:27:15

session目录在php.ini里面,反复跳回登陆页,很明显是你的session验证无法保存结果

bogy 发表于 2011-8-16 10:21:36

通过空间服务商客服找到了session目录,是可写的。唉。没概念了。

bogy 发表于 2011-8-16 10:39:06

向大家通报最新进展:
1.本地局域网仍然一切正常。
2.远端服务器我又建立了一个1.7.3版本的ci目录,运作一切正常,URL解析和控制器都正常。

可以断定不是服务器配置问题,故障肯定出在2.0.2的配置上。
有没有大侠有兴趣看看啊。

Hex 发表于 2011-8-16 11:59:51

bogy 发表于 2011-8-16 10:39 static/image/common/back.gif
向大家通报最新进展:
1.本地局域网仍然一切正常。
2.远端服务器我又建立了一个1.7.3版本的ci目录,运作一 ...

贴代码~

bogy 发表于 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/控制器名, 任意字符串都不行,直接跳回登陆页面。

供大家参考。



Hex 发表于 2011-8-16 13:29:11

程序看起来没什么问题。
你有写路由规则吗?你的默认控制器是哪个?
页: [1] 2
查看完整版本: 很奇怪的url解析问题