Часто проблема возникает в результате работы php в режиме CGI. В этом режиме есть проблемы с передачей данных авторизации HTTP в php.
<p>Часто проблема возникает в результате работы php в режиме CGI. В этом режиме есть проблемы с передачей данных авторизации HTTP в php.
Можно это проверить, посмотрев phpinfo(): <span style="font-style:oblique">Server API: CGI</span> Можно обойти проблему, но необходимо чтобы на сервере была включена обработка <span style="font-style:oblique">.htaccess </span>и поддержка<span style="font-style:oblique"> mod_rewrite.</span> Выполните следующие действия: </p>
<br>
<ul style="list-style: disc outside none;">
<li>В корне сайта в файл .htaccess добавьте строки:</li>
<p class="code">
<br>RewriteEngine on
<br>RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
<br>
<ul style="list-style: disc outside none;">
<p>
<br>
<li>Закоментируйте следующие строки в файле bitrix/admin/.htaccess, которые отключают mod_rewrite</li>
<p class="code">
<br>#<ifmodule mod_rewrite.c="">
<br># RewriteEngine Off
<br>#</ifmodule>
<br>
<ul style="list-style: disc outside none;">
<p>
<br>
<li>В файл bitrix/php_interface/dbconn.php добавьте строки:</li>
<p class="code">
<br>$remote_user = $_SERVER["REMOTE_USER"]
<br>? $_SERVER["REMOTE_USER"] : $_SERVER["REDIRECT_REMOTE_USER"];
<br>$strTmp = base64_decode(substr($remote_user,6));
<br>if ($strTmp)
<br> list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $strTmp);
<p>
<br>
Для проверки работоспособности HTTP-авторизации воспользуйтесь скриптом: http://ru2.php.net/manual/ru/features.http-auth.php <span style="font-weight:bold">Внимание! Данный вариант обхода не всегда может решить проблему. Если при выполнении всех рекомендаций HTTP-авторизация не заработала, то следует обратиться к хостинг-провайдеру с этой проблемой.</span>