Итак, у меня есть сервер для серверного приложения. PHP-скрипт на сервере 1, домен 1, устанавливает пользовательский заголовок на странице (авторизация: Bearer 123456789). Сценарий на сервере 2, домен 2, использует get_headers() для чтения заголовков.Joomla Not Sending Custom Header
Все работает отлично, когда файлы подаются изначально. Но когда скрипт на сервере 1 включен в модуль Joomla, get_headers() не извлекает пользовательский заголовок.
В обоих случаях инструменты разработчика показывают пользовательский заголовок, а также некоторые другие заголовки, чем возвращаемые get_headers().
Код ниже использует JFactory для установки заголовков, если Joomla загружен, но это тот же результат с использованием header(). Joomla просто не передает пользовательский заголовок.
Я не понимаю. Кто-нибудь знает, что здесь происходит? Это не проблема SEF или htaccess.
<?php
// Server 1
if(!class_exists("JFactory")){ // no Joomla
header('Authorization: Bearer 123456789');
} else { // Joomla framework loaded
$app = JFactory::getApplication();
$app->setHeader('Authorization: ', 'Bearer 123456789');
$app->sendHeaders();
}
код на сервере 2:
<?php
// Server 2
$headers = get_headers("http://server1.com/");
foreach($headers as $header) {
echo $header ."<br/>";
}
Выход из get_headers(), когда служил изначально:
HTTP/1.1 200 OK Date: Thu, 19 Jan 2017 12:44:35 GMT Server: Apache Authorization: Bearer 123456789 Content-Length: 0 Connection: close Content-Type: text/html
Выход из get_headers(), когда служил на Joomla:
HTTP/1.1 200 OK Date: Thu, 19 Jan 2017 12:45:49 GMT Server: Apache Set-Cookie: 3c460b3da9ecb202e794816b4144c6ff=ja7mn4b4njov98lsv76kk8pvu2; path=/; HttpOnly Vary: Accept-Encoding Content-Length: 1264 Connection: close Content-Type: text/html
Родных заголовков, отображаемых инструменты разработчика:
Authorization: Bearer 123456789 Date: Thu, 19 Jan 2017 13:07:32 GMT Server: Apache Connection: Keep-Alive Keep-Alive: timeout=5, max=100 Content-Length: 0 Content-Type: text/html 200 OK
заголовки Joomla выводимых инструментов разработчика:
Pragma: no-cache Date: Thu, 19 Jan 2017 12:19:24 GMT Last-Modified: Thu, 19 Jan 2017 12:19:25 GMT Server: Apache Authorization: : Bearer 123456789 Vary: Accept-Encoding Content-Type: text/html; charset=utf-8 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: Keep-Alive Keep-Alive: timeout=5, max=100 Content-Length: 76888 Expires: Wed, 17 Aug 2005 00:00:00 GMT