Часто проблема виникає в результаті роботи PHP в режимі CGI. У цьому режимі є проблеми з передачі даних авторизації HTTP в php.
Часто проблема виникає в результаті роботи PHP в режимі CGI. У цьому режимі є проблеми з передачі даних авторизації HTTP в php. Це можна перевірити, переглянувши phpinfo(): Server API: CGI Можна обійти проблему, але необхідно, щоб на сервері була включена обробка .htaccess і підтримкаmod_rewrite. Виконайте такі дії:
- У корені сайту файл .htaccess добавьте строки:
- Закоментуйте наступні рядки у файлі bitrix/admin/.htaccess, які вимикають mod_rewrite
- У файлbitrix/php_interface/dbconn.php добавьте строки:
RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
#<ifmodule mod_rewrite.c="">
# RewriteEngine Off
#</ifmodule>
$remote_user = $_SERVER["REMOTE_USER"]
? $_SERVER["REMOTE_USER"] : $_SERVER["REDIRECT_REMOTE_USER"];
$strTmp = base64_decode(substr($remote_user,6));
if ($strTmp)
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $strTmp);
Для перевірки працездатності HTTP-авторизації скористайтесь скриптом: Увага! Даний варіант обходу який завжди може вирішити проблему. Якщо при виконанні всіх рекомендацій HTTP-авторизація не запрацювала, слід звернутися до хостинг-провайдера з цією проблемою.
