Разное отображение шаблона на разных хостингах

max-sparker

Профессор
Регистрация
9 Мар 2008
Сообщения
171
Реакции
44
Доброго времени уважаемые формучане. Прошу помощи в следующей проблеме...

Имеется шаблон, который натянут на CMS NetCat.
На Windows хостинге сайт отображается во всех браузерах нормально, когда его перенес на Linux сервер (CentOS) в IE стал отображаться коряво, не так как на Windows.

Копия полная, все перепроверил - стили все подключены. Подскажите пожалуйста в связи с чем может быть такая проблема - куда копать ?
 
Проверьте соответствие версий PHP на сервере и на хостинге.
 
на win php 5.4.3, на centos 5.3.3 - думаете обновить надо (не хотелось бы) ?
Это единственное, что могу посоветовать исходя из того, что сообщили. Когда делал перенос клиентского сайта, правда на CMS Joomla, на другой хостинг - тоже в этом была проблема. Поэтому советую исходя из своего опыта - мне помогло обновление.
 
При чем тут может быть PHP?
Возможно при выводе некоторых переменных и функций выводятся предупреждения, что ломает верстку.

Советую для начала заглянуть в исходный код сайта на windows и linux серверах и сравнить. На 90% уверен, что верстка ломается, а IE просто не смог проигнорировать недочеты.

Возможно один сервер выводит только критические ошибки или вообще не выводит. А новый сервер настроен так, чтобы выводить даже предупреждения.

Кстати, с joomla 1.5 тоже проблемка при переходе на 5.4 php, т.к. там много нарушений в плане структуры кода и выводится куча ошибок. Помогает только отключение в php.ini вывода всех ошибок. Что удивительно, некоторые сайты на 1.5 жумле перенеслись нормально, а некоторые вываливают кучу ошибок.
 
стал отображаться коряво, не так как на Windows
Вы умеете более детально объясняться? Может стоит дать ссылку?
В след. раз подобные темы будут перенаправляться во флуд, вплоть до появления первых телепатов на форуме.
 
Вы умеете более детально объясняться? Может стоит дать ссылку?
В след. раз подобные темы будут перенаправляться во флуд, вплоть до появления первых телепатов на форуме.

Вот ссылка
Скрытое содержимое доступно для зарегистрированных пользователей!


Во всех браузерах отображается нормально, кроме IE - в нем съезжает влево.
На windoiws хостинге все нормально.
PHP обновил, проблема осталась.
 
Проблема в неправильном коде

Вот как парсит страницу браузер
Для просмотра ссылки Войди или Зарегистрируйся

И так парсит не только IE, но и хром. Думаю проблему стоит искать в этом. Т.е. хром видит ошибку, но все равно выстраивает все верно, а ослик не может этого сделать.

Советы
1. Убрать стили в прикрепляемый файл.
2. Не использовать тег "<center>", он в html5 отсутствует и может неверно интерпретироваться.

Пока все, что заметил. Ищу дальше причину. Но явно структура где-то неверная, так как парсит он все наоборот.
Хотя ide, в которую запихнул код - серьезных ошибок в структуре не выявила.

Продолжаем

3. "<meta http-equiv='content-type' content='text/html; charset=utf-8' />" меняем на <meta charset="utf-8" />, раз уж используем <!doctype html>
4. <link rel="stylesheet" type="text/css" href="/images/kopeysk-city/css/style.css">
должен закрываться, а именно
<link rel="stylesheet" type="text/css" href="/images/kopeysk-city/css/style.css" />
и так для всех
5. <meta name='Keywords' content='Копейск'>
аналогично
<meta name='Keywords' content='Копейск' />
6. <body><br> - зачем такая конструкция в теле документа?
7. Убрать пробелы перед <!doctype html>. Так, чтобы было)

Скорей всего закрытие тегов meta и link приведет все в порядок, т.к. именно с них начинается перескакивание всего кода в тег body
 
Спасибо за рекомендации, все сделал как Вы сказали - но пока ничего не вышло.
 
Спасибо за рекомендации, все сделал как Вы сказали - но пока ничего не вышло.

Сейчас на локальной машине создал html, скопировав исходный код с Вашего сайта.
У Вас перед доктайпом, вначале документа генерируется какой-то пробел.

Для просмотра ссылки Войди или Зарегистрируйся

Если его убираю, то код парсится нормально браузером. Пробел может появится не только из шаблона. Может и на этапе генерации страницы.
Советую проверить шаблон, есть ли там этот пробел. Если нету, то проверить кодировку документа и сохранить его в utf8 без BOM. Это можно сделать в notepad++. BOM - это вроде некий символ, который по сути представляет собой пустоту, но частенько создает не мало геммороя.

Если не поможет, то тут надо более глубоко рыться в самой CMS. Начать следует с index.php в корне сайта. Проверить, нет ли лишних пробелов до "<? ?>" или после. Так же проверить, чтобы кодировка тоже была в utf без bom
Кстати, чтобы таких пробелов не появлялось, к некоторым cms рекомендуют вообще не закрывать php код "?>", парсер делает это сам, а такой подход позволяет избавиться от проблемы вывода нечитаемых символов.

Это всего лишь предположение, где искать причину. Но я на 99% уверен, что это как раз из-за этих пробелов.

P.S. в хроме этот пробел тоже видится, только он его парсит в другом месте. И прошу заметить, что структура тоже не такая, какая должна быть. Но хром все таки воссоздает картину того, что должно в итоге быть.
Для просмотра ссылки Войди или Зарегистрируйся
 
Назад
Сверху