server {
listen 80; ## listen for ipv4
listen [::]:80 default ipv6only=on; ## listen for ipv6
server_name _;
server_name_in_redirect off;
charset Windows-1251; ##Это поправит глюки с Ajax
access_log /var/log/nginx/localhost.access.log;
##Этот блок отвечает за вывод главной страницы
location = / {
root /var/www;
index index.php index.html;
}
##А вот здесь обрабатываются остальные запросы
location / {
root /var/www;
index index.php index.html;
if (!-e $request_filename) {
rewrite ^/load/url=(.+)$ /index.php?uri=files&do=download&fileurl=$1 last;
rewrite ^/go/url=(.+)$ /index.php?uri=files&do=redirect&url=$1 last;
rewrite ^/(.*)$ /index.php?uri=$1 last;
##Хоть и написано в инструкции так не делать, но работает именно так. Ошибок вроде нет...
}
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; #fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param DOCUMENT_ROOT /var/www; #Вот этот фикс fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param REDIRECT_STATUS 200;
Взял отсюда - http://www.instantcms.ru/blogs/tehnoblog/nastroika-nginx-dlja-instantcms.html
