Проблему решил сам. Думал types в location переопределяет только те типы что указаны, а оказалось что все типы надо определять заново. Изменение типа отдаваемого контента нужно для того, чтобы из каталогов не запускались сторонние скрипты, а так же чтобы в каталог не выкладывали, например, php шел и не ломали сайт.
5 февраля 2012 г. 3:56 пользователь Валентин Бартенев <ne@xxxxxxxx> написал:
On Saturday 04 February 2012 21:01:19 Сергей Нюхряев wrote:
> Есть nginx-1.0.11 за ним apache 2.2.22
> когда задаю location вида
>
> location ^~ /js/ {
> types {
> text/plain php php3 php4 php5 phtml phps pl pm html htm shtml;
> }
> root /home/live/html;
> }
>
> то при запросе html(php) страниц не подгружаются js скрипты из папки /js. В
> error.log пусто. В access.log видно что скрипты запрашиваются, но скрипты
> не работаю. Хотя впрямую если запросить все отдается нормально и скрипт
> отображается.
Естественно, вы сделали так, что они теперь отдаются с default_type (скорее всего
text/plain, если у вас он тоже не переопределен).
> Переопределяю типы для того, чтобы код из данного каталога
> выдавался как текст, чтобы случайно шел не залили.