Описание ошибки и решение
gospodinn |
|
---|---|
1. Установил Cotonti на localhost:8080. После отправки любой формы редирект происходит на localhost, т.е. порт отбрасывается. 2. Ошибка синтаксиса MySql при логировании IP пользователя (возникает, например, когда создаешь новую страницу). В запросе IP не был взят в кавычки. Патч для №1.=== (+12,-3) system/common.php === @@ -162,8 +162,17 @@ { $sys['host'] = $url['host']; } -$sys['abs_url'] = $url['scheme'] . '://' . $sys['host'] . $sys['site_uri']; -$sys['canonical_uri'] = $url['scheme'] . '://' . $sys['host'] . $_SERVER['REQUEST_URI']; +if ($_SERVER['SERVER_PORT'] == 80 + || $_SERVER['SERVER_PORT'] == 443) +{ + $sys['port'] = ""; +} +else +{ + $sys['port'] = ":".$_SERVER['SERVER_PORT']; +} +$sys['abs_url'] = $url['scheme'] . '://' . $sys['host'] . $sys['port'] . $sys['site_uri']; +$sys['canonical_uri'] = $url['scheme'] . '://' . $sys['host'] . $sys['port'] . $_SERVER['REQUEST_URI']; define('COT_ABSOLUTE_URL', $sys['abs_url']);Патч для №2. === (+2,-2) system/functions.php === @@ -3859,7 +3859,7 @@ if ($cfg['shieldenabled']) { $shield_newlimit = $sys['now'] + floor($shield_add * $cfg['shieldtadjust'] /100); - $db->update($db_online, array('online_shield' => $shield_newlimit, 'online_action' => $shield_newaction), 'online_ip='.$usr['ip']); + $db->update($db_online, array('online_shield' => $shield_newlimit, 'online_action' => $shield_newaction), 'online_ip=\''.$usr['ip'].'\''); } |
Trustmaster |
|
---|---|
В первом случае, думаю, можно взять порт из $url['port'] и не делать определение через $_SERVER. Спасибо за патчи, применю в ближайших коммитах. Added 10 minutes later: Вторая проблема была исправлена ранее. May the Source be with you!
|
|
This post was edited by Trustmaster (2011-07-06 19:50, 13 years ago) |
gospodinn |
|
---|---|
А нельзя ли вообще обойтись без вычисления abs_url? В конфиге ведь уже пописан правильный абсолютный адрес , может просто его учитывать?
$cfg['mainurl'] = 'http://localhost:8080'; |
Trustmaster |
|
---|---|
Если используются субдомены, то нельзя.
May the Source be with you!
|