worker_processes 1;

events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;

    server {
        listen 80;
        server_name localhost;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }

        location / {
            root html;
            index index.php;
            if (!-e $request_filename){ rewrite ^(.*)$ /index.php last; }
        }

        # if you want grav in a sub-directory of your main site
        # (for example, example.com/mygrav) then you need this rewrite:
        location /mygrav {
            index index.php;
            if (!-e $request_filename){ rewrite ^(.*)$ /mygrav/$2 last; }
            try_files $uri $uri/ /index.php?$args;
        }

        # if using grav in a sub-directory of your site,
        # prepend the actual path to each location
        # for example: /mygrav/images
        # and: /mygrav/user
        # and: /mygrav/cache
        # and so on

        location /images/ {
            # Serve images as static
        }

        location /user {
            rewrite ^/user/accounts/(.*)$ /error redirect;
            rewrite ^/user/config/(.*)$ /error redirect;
            rewrite ^/user/(.*)\.(txt|md|html|php|yaml|json|twig|sh|bat)$ /error redirect;
        }

        location /cache {
            rewrite ^/cache/(.*) /error redirect;
        }

        location /bin {
            rewrite ^/bin/(.*)$ /error redirect;
        }

        location /backup {
            rewrite ^/backup/(.*) /error redirect;
        }

        location /system {
            rewrite ^/system/(.*)\.(txt|md|html|php|yaml|json|twig|sh|bat)$ /error redirect;
        }

        location /vendor {
            rewrite ^/vendor/(.*)\.(txt|md|html|php|yaml|json|twig|sh|bat)$ /error redirect;
        }

        # Remember to change 127.0.0.1:9000 to the Ip/port
        # you configured php-cgi.exe to run from

        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

    }

}
