To enable seo urls in opencart navigate in admin to system > settings , edit the store and on the server tab of the store settings you will find "Use SEO urls", set it to yes. So far every user knows to do this, but what most often forget is to activate the htaccess file.
To activate the htaccess file, connect to your store via a ftp client. In the root of your opencart store you will find a file called .htaccess.txt. To activate it, you must rename it to .htaccess (exactly like that without another dot at the end). After this, your seo urls will work or you could get an internal server error when trying to view the website (this can happen if your hoster doesnt have the apache mod_rewrite installed. In this case you will have to rename the .htaccess file back to .htaccess.txt, disable seo urls in admin and contact your hoster).
If you have opencart installed in a subdirectory of a domain (ex: store.com/somefolder/) you will have to edit the .htaccess file and the line:
will have to be changed in:
where of course you will replace somefolder with the name of your actual folder.
This is all you have to do in order to have seo urls in your store.