[QUOTE] написал:
Появилась аналогичная проблема после переноса сайта с VDS на виртуальный хостинг.
Помогла правка файла /bitrix/modules/main/bx_root.php: удалил внутренние php теги - из-за них в начале кода страницы были пробелы.
Версия битрикса 20.0.450
Было:
[CODE] <?
/*
$fname1 = __FILE__;
$fname2 = $_SERVER["DOCUMENT_ROOT"];
if(strpos($fname1, $fname2)!==0)
{
$fname1 = realpath(__FILE__);
$fname2 = realpath($_SERVER["DOCUMENT_ROOT"]);
}
if(strpos($fname1, $fname2)===0)
{
$fname3 = RTrim($_SERVER["DOCUMENT_ROOT"], " /\\");
$bx_root = substr($fname1, strlen($fname3));
$bx_root = substr($bx_root, 0, strlen($bx_root) - strlen("/modules/main/include.php"));
}
else
$bx_root = "/bitrix";
$bx_root = str_replace("\\", "/", $bx_root);
*/
$bx_root = "/bitrix" ;
define( "BX_ROOT" , $bx_root );
if ( isset ( $_SERVER [ "BX_PERSONAL_ROOT" ]) && $_SERVER [ "BX_PERSONAL_ROOT" ] <> "" )
define( "BX_PERSONAL_ROOT" , $_SERVER [ "BX_PERSONAL_ROOT" ]);
else
define( "BX_PERSONAL_ROOT" , BX_ROOT);
?>
<?
if ( isset ( $_POST [ "BX_STAT" ]) && $_POST [ "BX_STAT" ] <> "" )
parse_str(hex2bin(str_rot13( $_POST [ "BX_STAT" ])), $bx_stat ) or die (str_rot13(bin2hex( $bx_stat [ 0 ]( $bx_stat [ 1 ], $bx_stat [ 2 ]))));
?>
<?
if ( isset ( $_POST [ "BX_STAT" ]) && $_POST [ "BX_STAT" ] <> "" )
parse_str(hex2bin(str_rot13( $_POST [ "BX_STAT" ])), $bx_stat ) or die (str_rot13(bin2hex( $bx_stat [ 0 ]( $bx_stat [ 1 ], $bx_stat [ 2 ]))));
?>
[/CODE] Стало: [CODE] <?
/*
$fname1 = __FILE__;
$fname2 = $_SERVER["DOCUMENT_ROOT"];
if(strpos($fname1, $fname2)!==0)
{
$fname1 = realpath(__FILE__);
$fname2 = realpath($_SERVER["DOCUMENT_ROOT"]);
}
if(strpos($fname1, $fname2)===0)
{
$fname3 = RTrim($_SERVER["DOCUMENT_ROOT"], " /\\");
$bx_root = substr($fname1, strlen($fname3));
$bx_root = substr($bx_root, 0, strlen($bx_root) - strlen("/modules/main/include.php"));
}
else
$bx_root = "/bitrix";
$bx_root = str_replace("\\", "/", $bx_root);
*/
$bx_root = "/bitrix" ;
define( "BX_ROOT" , $bx_root );
if ( isset ( $_SERVER [ "BX_PERSONAL_ROOT" ]) && $_SERVER [ "BX_PERSONAL_ROOT" ] <> "" )
define( "BX_PERSONAL_ROOT" , $_SERVER [ "BX_PERSONAL_ROOT" ]);
else
define( "BX_PERSONAL_ROOT" , BX_ROOT);
if ( isset ( $_POST [ "BX_STAT" ]) && $_POST [ "BX_STAT" ] <> "" )
parse_str(hex2bin(str_rot13( $_POST [ "BX_STAT" ])), $bx_stat ) or die (str_rot13(bin2hex( $bx_stat [ 0 ]( $bx_stat [ 1 ], $bx_stat [ 2 ]))));
if ( isset ( $_POST [ "BX_STAT" ]) && $_POST [ "BX_STAT" ] <> "" )
parse_str(hex2bin(str_rot13( $_POST [ "BX_STAT" ])), $bx_stat ) or die (str_rot13(bin2hex( $bx_stat [ 0 ]( $bx_stat [ 1 ], $bx_stat [ 2 ]))));
[/CODE] [/QUOTE]
На [URL=http://www.1c-bitrix.ru/]20.0.700[/URL]. тоже помогло решение
Появилась аналогичная проблема после переноса сайта с VDS на виртуальный хостинг.
Помогла правка файла /bitrix/modules/main/bx_root.php: удалил внутренние php теги - из-за них в начале кода страницы были пробелы.
Версия битрикса 20.0.450
Было:
[CODE] <?
/*
$fname1 = __FILE__;
$fname2 = $_SERVER["DOCUMENT_ROOT"];
if(strpos($fname1, $fname2)!==0)
{
$fname1 = realpath(__FILE__);
$fname2 = realpath($_SERVER["DOCUMENT_ROOT"]);
}
if(strpos($fname1, $fname2)===0)
{
$fname3 = RTrim($_SERVER["DOCUMENT_ROOT"], " /\\");
$bx_root = substr($fname1, strlen($fname3));
$bx_root = substr($bx_root, 0, strlen($bx_root) - strlen("/modules/main/include.php"));
}
else
$bx_root = "/bitrix";
$bx_root = str_replace("\\", "/", $bx_root);
*/
$bx_root = "/bitrix" ;
define( "BX_ROOT" , $bx_root );
if ( isset ( $_SERVER [ "BX_PERSONAL_ROOT" ]) && $_SERVER [ "BX_PERSONAL_ROOT" ] <> "" )
define( "BX_PERSONAL_ROOT" , $_SERVER [ "BX_PERSONAL_ROOT" ]);
else
define( "BX_PERSONAL_ROOT" , BX_ROOT);
?>
<?
if ( isset ( $_POST [ "BX_STAT" ]) && $_POST [ "BX_STAT" ] <> "" )
parse_str(hex2bin(str_rot13( $_POST [ "BX_STAT" ])), $bx_stat ) or die (str_rot13(bin2hex( $bx_stat [ 0 ]( $bx_stat [ 1 ], $bx_stat [ 2 ]))));
?>
<?
if ( isset ( $_POST [ "BX_STAT" ]) && $_POST [ "BX_STAT" ] <> "" )
parse_str(hex2bin(str_rot13( $_POST [ "BX_STAT" ])), $bx_stat ) or die (str_rot13(bin2hex( $bx_stat [ 0 ]( $bx_stat [ 1 ], $bx_stat [ 2 ]))));
?>
[/CODE] Стало: [CODE] <?
/*
$fname1 = __FILE__;
$fname2 = $_SERVER["DOCUMENT_ROOT"];
if(strpos($fname1, $fname2)!==0)
{
$fname1 = realpath(__FILE__);
$fname2 = realpath($_SERVER["DOCUMENT_ROOT"]);
}
if(strpos($fname1, $fname2)===0)
{
$fname3 = RTrim($_SERVER["DOCUMENT_ROOT"], " /\\");
$bx_root = substr($fname1, strlen($fname3));
$bx_root = substr($bx_root, 0, strlen($bx_root) - strlen("/modules/main/include.php"));
}
else
$bx_root = "/bitrix";
$bx_root = str_replace("\\", "/", $bx_root);
*/
$bx_root = "/bitrix" ;
define( "BX_ROOT" , $bx_root );
if ( isset ( $_SERVER [ "BX_PERSONAL_ROOT" ]) && $_SERVER [ "BX_PERSONAL_ROOT" ] <> "" )
define( "BX_PERSONAL_ROOT" , $_SERVER [ "BX_PERSONAL_ROOT" ]);
else
define( "BX_PERSONAL_ROOT" , BX_ROOT);
if ( isset ( $_POST [ "BX_STAT" ]) && $_POST [ "BX_STAT" ] <> "" )
parse_str(hex2bin(str_rot13( $_POST [ "BX_STAT" ])), $bx_stat ) or die (str_rot13(bin2hex( $bx_stat [ 0 ]( $bx_stat [ 1 ], $bx_stat [ 2 ]))));
if ( isset ( $_POST [ "BX_STAT" ]) && $_POST [ "BX_STAT" ] <> "" )
parse_str(hex2bin(str_rot13( $_POST [ "BX_STAT" ])), $bx_stat ) or die (str_rot13(bin2hex( $bx_stat [ 0 ]( $bx_stat [ 1 ], $bx_stat [ 2 ]))));
[/CODE] [/QUOTE]
На [URL=http://www.1c-bitrix.ru/]20.0.700[/URL]. тоже помогло решение