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