CodeIgniter заставляет сервер разорвать соединение при перенаправлении на перенаправленные URL - PullRequest
0 голосов
/ 13 октября 2011

У меня есть сайт CodeIgniter, который отлично работает локально, но теперь я загрузил его на другой сервер, он разрывается при очень специфическом условии.

Сервер прервет соединение, если я попытаюсь и перенаправлю наURL-адрес, который содержит маршрут в route.php

Т.е.

$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. Сервер сбрасывает соединение

Я в этом замешанодин, и никогда не видел такого поведения раньше.

Обновление:

Журналы заканчиваются так:

Журнал доступа

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 голосов
/ 15 октября 2011

Это было совершенно не связано с CodeIgniter.

Я хранил слишком много данных в сеансе (используя нативные сеансы PHP), и Apache отбрасывал ответ.

Спасибо за помощь, ребята!

0 голосов
/ 13 октября 2011

Это белая страница смерти?Или браузер не может подключить штуку?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>
...