Author Topic: Abantecart SEO URL issues  (Read 12877 times)

0 Members and 1 Guest are viewing this topic.

Offline
*
Abantecart SEO URL issues
« on: July 16, 2019, 06:14:42 PM »
How, can i get abantecart CMS to work correctly? I am using Nginx apache varnish web server, should i go back to Apache only? Maybe it is just a small thing i need to do but i can not find any answers using Google search.
I migrated the website from cPanel but also having the same issue with a newly installed domain using Abantecart CMS.

https://onlinebusiness1.com/index.php?rt=product/category&path=74_91  When the 2 links at the bottom of the page are clicked on it goes to an error page or not found.

Using centos 7 - CWP Pro.

As far as i can tell it is not a mod security issue or htaccess issues, though i think i need to add something to nginx.conf or edit another part of the nginx configurations in CWP admin panel.

SEO URL not working on 5 sites on 3 different CWP servers.
« Last Edit: July 16, 2019, 06:35:25 PM by Shafire »
SEOtraining1.com -SecureHosting.xyz

Offline
*
Re: Abantecart SEO URL issues
« Reply #1 on: July 20, 2019, 06:12:03 PM »
Any help, please.
SEOtraining1.com -SecureHosting.xyz

Offline
*
Re: Abantecart SEO URL issues
« Reply #2 on: July 25, 2019, 01:48:04 AM »
I fixed the error by making a .htaccess  file and just added this and nothing else:


RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php?_route_=$1 [L,QSA]

SEO URL's are now working perfectly.

I also edited:

Contents of File: /etc/nginx/conf.d/vhosts/onlinebusiness1.com.conf

server {

        listen 80;
        server_name onlinebusiness1.com;

        access_log /usr/local/apache/domlogs/onlinebusiness1.com.log;
        error_log /usr/local/apache/domlogs/onlinebusiness1.com.error.log ;

        # root is AbanteCart's public_html directory
        root /home/onlinebu/public_html;
        index index.php index.html index.htm;

        # Prevent directory listing
        autoindex off;

        # rules applied in root of our config
        location / {

                # include AbanteCart rules
                try_files $uri $uri/ $uri.php @abantecart_rules;

                # php settings (may differ on your server)
                location ~ \.php$ {
                        #fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_pass   127.0.0.1:9001;
                        #fastcgi_index index.php;

                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        fastcgi_param SCRIPT_NAME     $fastcgi_script_name;

                       

                        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;
        }
        ### Abantecart Settings ###
    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;
    }
    ### Retina images handler. Check cookie and looking for file with @2x at the end of name
    location ~* ^(.*)\.(jpg|png|gif)$ {
        set $hidpi_uri $1@2x.png;
        if ($http_cookie !~ 'HTTP_IS_RETINA=1') {
          break;
        }
        try_files $hidpi_uri $uri =404;
    }

    location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
        expires max;
        log_not_found off;
    }
    location ~ /(system/logs|resources/download) {
      deny all;
      return 403;
    }
    location /admin/ {
        location ~ .*\.(php)?$ {
          deny all;
          return 403;
        }
    }
    #rewrite for images for retina-displays
    location ~ / {
        if (!-e $request_filename){
            rewrite ^/(.*)\?*$ /index.php?_route_=$1 last;
        }
    }


### End of AbanteCart settings ###

}






Make sure you leave a space after the last }

This is how i got it to work with CentosWebPanel please advise on improving this method if possible.

CWP server setup is Nginx & Apache. i renamed the nginx.conf in public_html to nginx.conf.txt or just remove it, this is just a method to get things to work and i am sure i will be editing this again soon, if i do update for improvements i will post here what i did or please advice, as CWP a lot of settings cause a not found error.
« Last Edit: July 25, 2019, 01:56:15 AM by Shafire »
SEOtraining1.com -SecureHosting.xyz

Offline
*
Re: Abantecart SEO URL issues
« Reply #3 on: September 19, 2019, 09:30:47 PM »
Update, on another server i had an issue with SEO URL:

Menu option:
1. WebServer Settings -
2. Manage WebServers Configuration

You can manage domain configuration for webservers here.

Select a Username

(If a configuration exists delete it and SEO URL will work)

This solved SEO URL not working on a different server, something that can be easily overlooked.
SEOtraining1.com -SecureHosting.xyz

Offline
*
UPDATE: Abantecart SEO URL issues
« Reply #4 on: February 03, 2020, 01:44:41 PM »
Update here is my settings:

nginx.config copy below:

### Abantecart Settings ###
    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;
    }
    ### Retina images handler. Check cookie and looking for file with @2x at the end of name
    location ~* ^(.*)\.(jpg|jpeg|png|gif)$ {
        set $hidpi_uri $1@2x.png;
        if ($http_cookie !~ 'HTTP_IS_RETINA=1') {
          break;
        }
        try_files $hidpi_uri $uri =404;
    }

    location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
        expires max;
        log_not_found off;
    }
    location ~ /(system/logs|resources/download) {
      deny all;
      return 403;
    }
    location /admin/ {
        location ~ .*\.(php)?$ {
          deny all;
          return 403;
        }
    }
    #rewrite for images for retina-displays
    location ~ / {
        if (!-e $request_filename){
            rewrite ^/(.*)\?*$ /index.php?_route_=$1 last;
        }
    }


### End of AbanteCart settings ###




.htaccess copy below:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php?_route_=$1 [L,QSA]
SEOtraining1.com -SecureHosting.xyz