Имеется сайт (не Битрикс!) с которым настроена интеграция с 1С.
1С-ка посылает запросы по адресу:
http://сайт/bills/1c_exchange
Сайт работает по HTTPS, потому в .htaccess:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{THE_REQUEST} !/bills/1c_exchange [NC]
RewriteRule ^(.*)$ https://сайт.ru/$1 [R=301,L]
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
В итоге HTTP-аунтификация не проходит, на стороне сайта такой скрипт:
if ($_SERVER['PHP_AUTH_USER']) {
if ($_SERVER['PHP_AUTH_USER'] == $options['1с_login'] and
$_SERVER['PHP_AUTH_PW'] == $options['1c_password'] ) {
if ($mode == 'checkauth') {
echo "success\nexchange_1c_key\n$exchange_1c_key";
exit();
}
} else {
exit('Ошибка доступа! Неправильный логин или пароль!');
}
} else {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
exit();
}
Проверка через браузер - он бесконечно количество раз спрашивает логин и пароль :