У моей компании был приличный веб-сайт до того, как я присоединился к ним, с тех пор он был передан на аутсорсинг и не тронут. После присоединения я постепенно улучшал его в свободное время.
На этой неделе я переписал верхний / левый столбец / нижний колонтитул, которые одинаковы на всех страницах, чтобы я мог включить их с помощью PHP и избежать их исправления один за другим, когда я хочу что-то изменить (среди других преимуществ).
Я не очень разбираюсь в .htaccess и PHP, но на самом деле все, что я изменил, это:
AddType application/x-httpd-php5 .html .htm
<?xml version="1.0" encoding="UTF-8"?>
Для того, чтобы:
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";?>
Чтобы избежать <? XML-тег от выдачи ошибок коротких тегов PHP
<?php include '_header.html';?>
Глядя на исходный код после загрузки обеих страниц (включая PHP и обычный HTML), они выглядят одинаково.
Я не изменил ни один CSS, и поэтому они используют один и тот же код.
Тем не менее, по какой-то причине переход на включаемую версию PHP добавляет пустую строку вверху страницы.
Вот текущая (обычная XHTML) версия:
http://www.akidc.co.jp/index.html
Новый файл для справки:
((удалена устаревшая ссылка))
(Я не могу изменить .htaccess, пока не загружу сразу все новые страницы или <? XML-тег будет ошибкой их всех, так что он был бы как .php)
Файл заголовка, который я включаю, находится по адресу _header.html.
Пожалуйста, помогите мне решить пробел ^ _ ^
Запустите diff на источнике, вы сразу заметите, что здесь происходит.
В версии PHP у вас есть U + FEFF как раз перед <div id="header" ...>
, Это интерпретируется браузером как контент, поэтому он пытается отобразить этот контент.
Чтобы решить эту проблему, убедитесь, что весь ваш исходный код хранится в формате UTF-8.
Кстати, вот разница:
Видеть, что <feff>
?
А теперь посмотрите на элементы вашей страницы. Это то, что вы имели раньше:
и это то, что вы получаете в версии PHP:
Обратите внимание на дополнительный блок «», который я выделил?
Других решений пока нет …