AbanteCart SEO URL’s On Nginx Server
I just have the privilege to learn more about AbanteCart and by default the SEO URL's need to be turned on to make use of it. If you are using Apache as your server with mod_rewrite
enabled, all you have to do is rename htaccess.txt
to .htaccess
in your AbanteCart's public_html
folder and then turn on the Use SEO URL's in System Settings.
To learn more about enabling AbanteCart SEO settings on Apache server, I have detailed it in another post.
But how do we make it work when we're Nginx server? We need to translate/convert the contents .htaccess
into our nginx config file.
Here below is the SEO URL rules inside the .htaccess
file.
# SEO URL Settings
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.)\?$ index.php?_route_=$1 [L,QSA]
And this is the corresponding conversion.
location / {
try_files $uri $uri/ $uri.php @abantecart_rules;
}
location @abantecart_rules {
rewrite ^(.)\?$ /index.php?_route_=$1 last;
}
Now, that's pretty much like it. The @abantecart_rules
does its job for us to rewrite the URL from query strings to its corresponding pretty URL which you can generate in the product's general settings page or customized it the way you want it. And there you have it, you just got AbanteCart SEO URL working.
Here's a complete sample nginx configuration if you want a more detailed reference and I've covered there all of the .htaccess
rules.
Questions, anything, just let me know in your comments. Thanks