Flok
Новичок
Попытаюсь подробнее расписать то, что происходит.
Изучаю фреймворк кохана. Обнаружил странное поведение браузеров при работе с ней.
Суть:
Есть файл test.php
По сути - самый элементарный шаблон файла.
Есть контроллер:
Тоже проще быть не может.
А теперь главное: при заходе на эту страницу (/a/) почему-то все браузеры до единого "исправляют" вёрстку и переносят все теги из head в body.
получается такая вёрстка:
Ко всем проблемам ещё появляется пустая строчка сразу в начале body. Из-за этого начинала разъезжаться вёрстка.
Но самое странное что: если запросить такой же файл по прямому адресу /папка/test.php , то браузеры оставляют вёрстку как есть.
Я уже думал, что кохана каким-то способом сама меняет расстановку тегов. Но нет, посмотрел буфер сервера перед выводом страницы - все теги в нужном порядке. (буфер смотрел сбором инфы через ob_start и дальнейшей распечаткой переменной через var_dump). Посмотрел, что приходит на браузер - визуально тоже всё в порядке. То есть браузеры меняют теги местами уже после того, как получают код.
Единственное, что отличается в получаемых браузером данных, это http-заголовки.
в случае прямого запроса файла они выглядят так:
В случае запроса через кохану так:
Я уже не знаю, что мне делать. Может подскажете, как решить проблему, или хотя бы её диагностировать?
UPD: кохана версии 3.2
Изучаю фреймворк кохана. Обнаружил странное поведение браузеров при работе с ней.
Суть:
Есть файл test.php
PHP:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Проверка</title>
</head>
<body>
</body>
</html>
Есть контроллер:
PHP:
class Controller_A extends Controller_Template {
public $template = 'test';
public function action_index()
{
}
} // End A
А теперь главное: при заходе на эту страницу (/a/) почему-то все браузеры до единого "исправляют" вёрстку и переносят все теги из head в body.
получается такая вёрстка:
PHP:
<html>
<head></head>
<body>
<meta charset="utf-8">
<title>Проверка</title>
</body>
</html>
Но самое странное что: если запросить такой же файл по прямому адресу /папка/test.php , то браузеры оставляют вёрстку как есть.
Я уже думал, что кохана каким-то способом сама меняет расстановку тегов. Но нет, посмотрел буфер сервера перед выводом страницы - все теги в нужном порядке. (буфер смотрел сбором инфы через ob_start и дальнейшей распечаткой переменной через var_dump). Посмотрел, что приходит на браузер - визуально тоже всё в порядке. То есть браузеры меняют теги местами уже после того, как получают код.
Единственное, что отличается в получаемых браузером данных, это http-заголовки.
в случае прямого запроса файла они выглядят так:
PHP:
Accept-Ranges bytes
Connection Keep-Alive
Content-Length 127
Content-Type text/html
Date Sat, 18 Aug 2012 16:50:19 GMT
Etag "300000006c776-7f-4c78d1209e132"
Keep-Alive timeout=5, max=100
Last-Modified Sat, 18 Aug 2012 16:50:13 GMT
Server Apache/2.2.21 (Win32) PHP/5.3.8
PHP:
Connection Keep-Alive
Content-Length 133
Content-Type text/html; charset=utf-8
Date Sat, 18 Aug 2012 16:50:56 GMT
Keep-Alive timeout=5, max=100
Server Apache/2.2.21 (Win32) PHP/5.3.8
X-Powered-By PHP/5.3.8
Я уже не знаю, что мне делать. Может подскажете, как решить проблему, или хотя бы её диагностировать?
UPD: кохана версии 3.2