Can OpenCart use SEO URLs on nginX? I understand that in Apache, it creates an .htaccess, but is it capable of automatically managing the URL redirection in nginX?
OpenCart on Nginx - We have been using it for a year. Finally it seems other people starting to use it. Getting help is a nightmare and getting in on Nginx is tricky sometimes..
My www.site.com.vhost
is below, example:
# FORCE WWW
server {
server_name site.com;
rewrite ^(.*) http://www.site.com$1 permanent;
}
# MAIN SERVER
# NINX 0.8.54 - WORKS ON 1.1.19
server {
server_name www.site.com;
listen 80;
root /var/www/www.site.com/web;
index index.php index.html;
location /image/data {
autoindex on;
}
location /admin {
index index.php;
}
location / {
try_files $uri @opencart;
}
location @opencart {
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!
location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
deny all;
}
# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
expires max;
log_not_found off;
}
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
OK, now with regards to managing your site. You can now enable SEO via the admin, see my other posts tagged nginx and opencart for all the URLs and further customisation with the location / {}
I also recommend reading about removing the index.php?route= - link below: