CodeIgniter导致服务器在重定向到路由URL时断开连接

时间:2011-10-13 13:30:57

标签: codeigniter redirect routes

我有一个CodeIgniter网站,在本地工作正常,但现在我已将其上传到另一台服务器,它在一个非常特殊的条件下中断。

如果我尝试重定向到在routes.php中有路由的URL,服务器将断开连接

$route['controller/dothis(:any)?'] = "controller/method/dothis$1";
$route['controller/dothat(:any)?'] = "controller/method/dothat$1";

服务器正在运行Apache,并且任何日志都没有错误,服务器只是断开连接,并且不向客户端返回任何内容。

事件的顺序如下:

  1. 网页加载正常
  2. 用户通过POST提交表单
  3. 控制器接收POST请求
  4. 控制器将redirect()调用到/ controller / dothis / xxx
  5. 服务器断开连接
  6. 我对这个问题感到难过,以前从未见过这种行为。

    更新

    日志的结尾如下:

    访问日志

    2.217.174.75 - - [13/Oct/2011:18:29:04 +0100] "GET /home/index/ HTTP/1.1" 200 7209
    2.217.174.75 - - [13/Oct/2011:18:31:18 +0100] "POST /home/index/ HTTP/1.1" 302 68
    

    重写日志

    2.217.174.75 - - [13/Oct/2011:18:31:18 +0100] [89.234.23.46/sid#2b5effefb0f0][rid#2b5ef2745340/initial/redir#1] (3) [perdir /var/www/staging/html/] applying pattern '^(.*)$' to uri 'index.php'
    2.217.174.75 - - [13/Oct/2011:18:31:18 +0100] [89.234.23.46/sid#2b5effefb0f0][rid#2b5ef2745340/initial/redir#1] (1) [perdir /var/www/staging/html/] pass through /var/www/staging/html/index.php
    

    PHP或Apache错误日志中没有条目。

    如您所见,表单已提交,尝试重定向(状态302),然后连接就在浏览器端消失。

    Apache崩溃的系统日志中没有条目。

2 个答案:

答案 0 :(得分:0)

这是死亡的白页吗?或浏览器无法连接东西? Firebug获得了任何信息?特别是网络面板?当然重定向页面上没有错误?试过上面只有一些文字?

你的.htaccess是否设置正确?主机上的apache模块是否有限制?

code igniter routing


<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine on
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>

答案 1 :(得分:0)

这与CodeIgniter完全无关。

我在会话中存储了太多数据(使用本机PHP会话),Apache正在放弃响应。

感谢所有帮助人员!