Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- server
- {
- server_name localhost;
- error_page 404 /404.html;
- root D:/xampp/htdocs/it;
- listen 80;
- # listen 80 deferred; # for Linux
- #listen 443 ssl spdy;
- #include nginx-bp/enable/ssl.conf;
- #ssl_certificate /etc/nginx/certs/server.crt;
- #ssl_certificate_key /etc/nginx/certs/server.key;
- # Allow uploads?
- client_max_body_size 200M;
- # Gzip compression?
- gzip on;
- gzip_http_version 1.0;
- gzip_min_length 1100;
- gzip_buffers 4 8k;
- gzip_types
- # text/html is always compressed by HttpGzipModule
- text/css
- text/javascript
- text/xml
- text/plain
- text/x-component
- application/javascript
- application/x-javascript
- application/json
- application/xml
- application/rss+xml
- application/atom+xml
- font/truetype
- font/opentype
- application/vnd.ms-fontobject
- image/svg+xml;
- gzip_static on;
- gzip_proxied expired no-cache no-store private auth;
- gzip_disable "msie6";
- gzip_vary on;
- gzip_comp_level 3;
- # Protect system files?
- location ~ (?:/\..*|~)$
- {
- access_log off;
- log_not_found off;
- deny all;
- }
- location ~* (?:^|/)\. {
- deny all;
- }
- location ~* (?:\.(?:bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$ {
- deny all;
- }
- # Restricted access?
- #allow 127.0.0.1;
- #deny all;
- location @php
- {
- # PHP enabled?
- fastcgi_pass 127.0.0.1:9000;
- include fastcgi_params;
- fastcgi_split_path_info ^(.+?\.php)(/.*)$;
- if ($uri ~ ^(?<script_name>.+\.php)?(?<path_info>/.*)?$) {}
- #Pathinfo may be unavailable if try_files is used.
- set $path_info_final $path_info;
- if ($fastcgi_path_info != '')
- {
- set $path_info_final $fastcgi_path_info;
- }
- fastcgi_param PATH_INFO $path_info_final;
- # $fastcgi_script_name is no good, because requests like /image/test/
- # are resolved to /image/test/index.php
- set $script_name_final '/index.php';
- if ($script_name != '')
- {
- set $script_name_final $script_name;
- }
- fastcgi_param SCRIPT_FILENAME $document_root$script_name_final;
- # If the actual target php script doesn't exist
- if (!-e $document_root$script_name_final) {
- return 404;
- }
- # override SCRIPT_NAME which is set to $fastcgi_script_name
- fastcgi_param SCRIPT_NAME $script_name_final;
- # Pathinfo is used, make it more obvious to scripts
- set $request_uri_final $request_uri;
- if ($path_info_final != '') {
- set $request_uri_final $path_info_final$is_args$args;
- }
- fastcgi_param REQUEST_URI $request_uri_final;
- fastcgi_param CONTENT_TYPE $content_type;
- fastcgi_param CONTENT_LENGTH $content_length;
- fastcgi_param QUERY_STRING $query_string;
- fastcgi_index index.php;
- fastcgi_next_upstream error timeout;
- fastcgi_keep_conn on;
- fastcgi_hide_header "X-Powered-By";
- # Use this instead if Php is off
- #return 405;
- #Php caching
- #include nginx-bp/enable/php_cache.conf;
- #fastcgi_cache_valid 200 301 302 304 1h;
- #fastcgi_cache_min_uses 3;
- #Php request limiting?
- #limit_req zone=reqPerSec10 burst=50 nodelay;
- #limit_conn conPerIp 25;
- #rewrite ^/(.*)$ /index.php?$1 last;
- #break;
- #try_files !noop! /index.php?$args;
- }
- location ~ ^.*\.php(?:/.*)?$
- {
- try_files !noop! @php;
- }
- # Use custom error pages?
- fastcgi_intercept_errors on;
- location ~ [4-5][0-9][0-9].html
- {
- internal;
- access_log off;
- log_not_found off;
- }
- error_page 404 /404.html;
- # tweaks
- client_body_buffer_size 10K;
- client_header_buffer_size 1k;
- large_client_header_buffers 2 1k;
- # tweaks for higher traffic
- #open_file_cache max=1000 inactive=20s;
- #open_file_cache_valid 30s;
- #open_file_cache_min_uses 2;
- #open_file_cache_errors on;
- # Allowed methods
- if ($request_method !~ ^(OPTIONS|GET|HEAD|POST|PUT|PATCH|DELETE)$ ) {
- return 405;
- }
- if ($bot_ua = 1) {
- set $is_bot 1;
- set $is_human 0;
- }
- if ($bot_ua = 0) {
- set $is_bot 0;
- set $is_human 1;
- }
- # Log bots?
- # "if=" is available for Nginx >= 1.7
- #access_log /var/log/nginx/localhost.bots.log main flush=5m buffer=32k if=$is_bot;
- #access_log off;
- # Log humans?
- # "if=" is available for Nginx >= 1.7
- access_log /nginx/logs/localhost.access.log;
- # Error logging
- error_log /nginx/logs/localhost.error.log error;
- log_not_found on;
- # Static requests limiting
- #limit_req zone=reqPerSec20 burst=100 nodelay;
- #limit_conn conPerIp 20;
- # Seconds to wait for backend to generate a page
- fastcgi_read_timeout 15;
- # Default location /
- location /
- {
- #try_files $uri $uri/ /index.php?/$args;
- try_files $uri $uri/ @php;
- # rewrite www.example.com → example.com
- if ($host ~* ^www\.(.*)$) {
- set $host_without_www $1;
- rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
- }
- if ($fastcgi_script_name ~ "-d") {
- return 403;
- }
- if ($fastcgi_script_name ~ "-f") {
- return 403;
- }
- # removes trailing "index" from all controllers
- if ($request_uri ~* index/?$)
- {
- rewrite ^/(.*)/index/?$ /$1 permanent;
- }
- if (!-e $request_filename)
- {
- rewrite ^(.+)$ /index.php?$1 last;
- #break;
- }
- # removes trailing slashes (prevents SEO duplicate content issues)
- if (!-d $request_filename)
- {
- rewrite ^/(.*)/$ /$1 permanent;
- rewrite ^(.*)$ /index.php?/$1 last;
- break;
- }
- }
- # Handle static files
- # H5BP Directives
- include nginx-bp/h5bp/location/expires.conf;
- include nginx-bp/h5bp/location/cross-domain-fonts.conf;
- include nginx-bp/h5bp/location/cache-busting.conf;
- include nginx-bp/h5bp/directive-only/cross-domain-insecure.conf;
- include nginx-bp/h5bp/directive-only/no-transform.conf;
- #include nginx-bp/h5bp/directive-only/spdy.conf; ssl needed. :-/
- include nginx-bp/h5bp/directive-only/x-ua-compatible.conf;
- autoindex off;
- location ~ \.php$
- {
- try_files $uri =404;
- include fastcgi_params;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement