Apache отправляет поврежденные или «диф» файлы

1

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 в конце файла Изображение 174551

Curl из localhost на сервере (показывая, что он не кеш или js) Изображение 174551

Использование "больше" на сервере для показа файла не является тем, что возвращается Изображение 174551

EDIT: Это работает на виртуальной машине CentOS с использованием бродяг, а webroot использует папку для бродяг.

Теги:
caching
centos

1 ответ

0
Лучший ответ

Мой друг решил это. Была одна важная деталь для всего этого, которая оказалась актуальной. Установка Apache работает на Vagrant, и webroot - это бродяга, совместно использующая mount.

Оказывается, это проблема с ОС и Apache при использовании насыпи NFS.

Решить - установить это в httpd.conf

EnableSendfile to off

Подробнее об этом здесь: JS и CSS файлы в бродягах, которые не были правильно закодированы при сохранении вне виртуальной машины

Ещё вопросы

Сообщество Overcoder
Наверх
Меню