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

    More articles

    Here's How To Hide Admin Panel Menus In Strapi

    How to hide admin panel menus in Strapi. This is a quick guide to help you hide the admin panel menus in Strapi.

    Read more

    End-to-End Testing with Sanity Studio & Playwright

    Learn how to do end-to-end test Sanity Studio with Playwright

    Read more

    Let's talk about your project