Ваш Nginx конфигурации выглядит хорошо, если server_name
именно то, что вы используете, то я не знаю точно, что это неправильно, но позвольте мне привести в порядок свой конфиг, может помочь
Для перенаправления Я предпочитаю использовать отдельный сервер для перенаправления вместо использования условия if
server {
listen 80;
server_name www.example.com;
return 301 example.com$request_uri;
}
Не нужно повторно объявлять корень и индекс. достаточно указать их один раз на уровне серверного блока.
server {
listen 80;
server_name example.com;
root /home/sushi/www/example/;
access_log /home/sushi/www/example/logs/access.log;
error_log /home/sushi/www/example/logs/error.log;
index index.html index.htm;
location/{
try_files $uri $uri/ =404;
}
}
С вашего manifest.appcache
именно там, где $uri
будет выглядеть, то вам не нужно явно указать это, вопрос в том, что Nginx не будет соответствовать блок сервера.
Другая случайная идея заключается в том, что, возможно, nginx не знает, что сервер существует, потому что вы не перезапускали nginx после создания сервера. Вы пробовали это?
EDIT: Блок внутри nginx.conf
должен быть перемещен здесь внутри example.conf
файла
server {
listen 80;
server_name example.com;
root /home/sushi/www/example/;
access_log /home/sushi/www/example/logs/access.log;
error_log /home/sushi/www/example/logs/error.log;
index index.html index.htm;
location/{
try_files $uri $uri/ =404;
}
location ~* \.(?:manifest|appcache|html?|xml|json)$ {
expires -1;
access_log logs/static.log;
}
}
вы можете разделить весь Nginx конфигурации? вероятно, ваш запрос соответствует серверу по умолчанию, а не виртуальному серверу, который, по вашему мнению, соответствует. –
Спасибо. Вот вы: https://gist.github.com/sushimashi/6653621 – Sushi
На самом деле, я хотел, чтобы внутри внутри 'sites-enabled', а точнее, файл, содержащий этот блок' location' и 'try_files' –