abantecart nginx vhost
server {
listen *:80;
server_name demo.hoangweb.com;
root /var/www/html/abantecart;
index index.php index.html index.htm;
# Prevent directory listing
autoindex off;
client_max_body_size 50M;
access_log off;
error_log /var/log/nginx/vinacart-error.log;
# rules applied in root of our config
location / {
# include AbanteCart rules
try_files $uri $uri/ $uri.php @abantecart_rules;
error_page 502 = @fallback;
# php settings (may differ on your server)
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_keep_conn on;
proxy_intercept_errors on;
fastcgi_pass unix:/var/run/php5-fpm-vinacart.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_read_timeout 300;
include fastcgi_params;
}
}
# rewrites our query strings properly for AbanteCart
location @abantecart_rules {
rewrite ^(.*)\?*$ /index.php?_route_=$1 last;
}
# No direct access allowed for .tpl files
location ~ \.tpl {
deny all;
}
location @fallback {
try_files $uri /index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$; # takes any PHP file
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}