You turned on SEO URLs to get readable links. The home page opens, but every other page gives a 404.
The .htaccess file is missing.
What happened
OpenCart comes with a .htaccess.txt file in the main folder. It is renamed on purpose — so that it isn’t activated during installation.
When you turn on SEO URLs, the server needs those rules to know how to translate the addresses. Without them, it looks for pages that don’t exist as files — and returns a 404.
The fix
- Open File Manager in cPanel (or use FTP)
- In the main folder, find
.htaccess.txt - Rename it to
.htaccess— with a dot at the start and no extension - Refresh the website
That’s it.
If you can’t see the file
Files whose names start with a dot are hidden. In cPanel File Manager:
Settings (top right) → tick Show Hidden Files.
If a .htaccess already exists
Don’t overwrite it — it may contain something important. Open both, compare them, and add the rules from .htaccess.txt to the end of the existing one.
Make a copy first.
The second half of the job
SEO URLs now work, but products still won’t have readable links if their keyword field is empty.
When editing a product, open the SEO tab → enter something like t-shirt-black-cotton.
It must be unique — the same keyword on two products gives an error when saving.
For an existing store with many products
Entering them one by one is pointless if you have five hundred. There are extensions that generate the addresses automatically from the product names.
Make a backup before running something like that — it changes every product at once.
Planning an online store? We set it up completely, with payments and shipping configured.
Online stores →