Apache делает что-то действительно странное. Сначала мне показалось, что мой браузер всегда загружает кешированную копию. Я решил это, отключив кэши, используя новый браузер и используя curl, я на 100% уверен, что это не проблема кеша на стороне клиента.
У меня есть html файл с очень минимальным контентом, я просто изменил заголовок в заголовке и обновился, но Apache дал мне тот же самый файл.
Это становится действительно странным, если я удалю "достаточно большую" часть файла Apache, тогда отправит мне обновленный файл, но это будет странный гибрид или плохой вариант из двух версий.
Оригинал:
<!DOCTYPE html>
<html ng-app="EndeavorApp" ng-controller="RootCtrl">
<head>
<title></title>
<link rel="stylesheet" href="css/endeavor.css" />
</head>
<body>
<div id='work-space' ng-controller="TimelineCtrl">
<div id='content'>
<div id='project-column'>
<div class='project' ng-style="{height:project.$$height + 'px'}" ng-repeat="project in TCtrl.projects">
{{project.name}}
</div>
</div>
<div id='time-line-column'>
<div ng-style="{width:TCtrl.timeLineWidth + 'px'}" id='block-view'>
<div class='project' ng-style="{height:project.$$height + 'px'}" ng-repeat="project in TCtrl.projects">
<div ng-repeat="block in project.blocks" ng-style="TCtrl.getBlockStyle(block)" class='block'>
<div class='block-content'></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="js/angular.endeavor.min.js"></script>
<script src="js/endeavor.js"></script>
</body>
</html>
Добавление чего-то в тег title ничего не делало. Удаление всего в теге головы ничего не делало. Возвращается тот же проклятый файл.
Если я удалил последние теги 2 <script>
и добавлю заголовок, я получу этот неполный файл (обратите внимание, что он отключается в теге скрипта)
<!DOCTYPE html>
<html ng-app="EndeavorApp" ng-controller="RootCtrl">
<head>
<title></title>
<link rel="stylesheet" href="css/endeavor.css" />
</head>
<body>
<div id='work-space' ng-controller="TimelineCtrl">
<div id='content'>
<div id='project-column'>
<div class='project' ng-style="{height:project.$$height + 'px'}" ng-repeat="project in TCtrl.projects">
{{project.name}}
</div>
</div>
<div id='time-line-column'>
<div ng-style="{width:TCtrl.timeLineWidth + 'px'}" id='block-view'>
<div class='project' ng-style="{height:project.$$height + 'px'}" ng-repeat="project in TCtrl.projects">
<div ng-repeat="block in project.blocks" ng-style="TCtrl.getBlockStyle(block)" class='block'>
<div class='block-content'></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="js/angula
Удаление всего в <body>
приводит к этому беспорядку (название заметки по-прежнему пуста)
<!DOCTYPE html>
<html ng-app="EndeavorApp" ng-controller="RootCtrl">
<head>
<title></title>
<link rel="stylesheet" href="css/endeavor.css" />
</head>
<body>
<div id='work-space' ng-controller="TimelineCtrl">
<div id='content'>
<div id='project-column'>
<div class='p
Apache также отправляет некоторые странные символы Unicode в конце файла
Curl из localhost на сервере (показывая, что он не кеш или js)
Использование "больше" на сервере для показа файла не является тем, что возвращается
EDIT: Это работает на виртуальной машине CentOS с использованием бродяг, а webroot использует папку для бродяг.
Мой друг решил это. Была одна важная деталь для всего этого, которая оказалась актуальной. Установка Apache работает на Vagrant, и webroot - это бродяга, совместно использующая mount.
Оказывается, это проблема с ОС и Apache при использовании насыпи NFS.
Решить - установить это в httpd.conf
EnableSendfile to off
Подробнее об этом здесь: JS и CSS файлы в бродягах, которые не были правильно закодированы при сохранении вне виртуальной машины