我有一个CodeIgniter网站,在本地工作正常,但现在我已将其上传到另一台服务器,它在一个非常特殊的条件下中断。
如果我尝试重定向到在routes.php中有路由的URL,服务器将断开连接
即
$route['controller/dothis(:any)?'] = "controller/method/dothis$1";
$route['controller/dothat(:any)?'] = "controller/method/dothat$1";
服务器正在运行Apache,并且任何日志都没有错误,服务器只是断开连接,并且不向客户端返回任何内容。
事件的顺序如下:
我对这个问题感到难过,以前从未见过这种行为。
更新
日志的结尾如下:
访问日志
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崩溃的系统日志中没有条目。
答案 0 :(得分:0)
这是死亡的白页吗?或浏览器无法连接东西? Firebug获得了任何信息?特别是网络面板?当然重定向页面上没有错误?试过上面只有一些文字?
你的.htaccess是否设置正确?主机上的apache模块是否有限制?
<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正在放弃响应。
感谢所有帮助人员!