Я не уверен, на что был бы похож мой язык мечты, но у меня есть немного улучшения для языков C-стиля. Сколько раз имеет меня записанный что-то вроде этого:
Node foundNode = null; // need stupid null value here to keep track if it was not found
foreach (Node testNode in nodes) {
if (testNode.YesItsMe) {
foundNode = testNode;
break;
}
}
if (foundNode == null) {
// create new instance
foundNode = new Node(blabla);
}
я знаю, что существуют более изящные функциональные пути к этому, но иногда Вы все еще заканчиваете с кодом как это. Простой "защитный" оператор помог бы здесь:
Node foundNode; // no need to initialize anymore
foreach (Node testNode in nodes) {
if (testNode.YesItsMe) {
foundNode = testNode;
break;
}
} guard { // we get here if break was never called
// create new instance
foundNode = new Node(blabla);
}
Я не уверен, но в документации не упоминается LocationMatch как возможный контекст.
«Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess»
Попробуйте переключить скобки LocationMatch.
В качестве альтернативы: некоторые прокси-серверы удаляют заголовок expires.
Я предполагаю, что /mysite/contentservices/weather/get.json является статическим файлом данных и НЕ обслуживается CGI / mod_php / чем-то еще?
Конфигурации применяются в том порядке, в котором они находятся в конфигурационном файле.
Смотрите http://httpd.apache.org/docs/2.0/sections.html
Хотя, учитывая отсутствие других факторов, различное форматирование аргумента не должно быть проблемой, возможно, стоит проверить, что произойдёт, если попробовать:
<LocationMatch "/mysite/contentservices/weather/get.json">
ExpiresDefault "access plus 1 day"
</LocationMatch>
C.
.