How to get Cubecart 4 friendly URLs on a Windows server
July 24th, 2008 Posted in web, workCubecart 4 includes the option to rewrite the standard URL structure into “search engine friendly” URLs.
This means that instead of a product in your shop having the pretty awful address of
http://www.domain.co.uk/index.php?_a=viewProd&productId=1
you can have it rewritten into something like
http://www.domain.co.uk/test-category/test-product2/prod_1.html
Much easier for humans I’m sure you’ll agree and hopefully search engines will love your keyword-packed URLs too.
Activating theĀ search engine friendly URL’s is nice and easy if you have Unix/Linux hosting as it all works out of the box with Cubecart, but if (like me) you’re using a Windows server you need a different solution… and Helicon’s ISAPI_Rewrite is just that solution.
Installed onto your Windows server (if you’re on shared hosting, speak to your hosts about making it available), ISAPI_Rewrite uses a single file (httpd.ini) in the root folder of your domain to process whatever rewriting rule you need.
Within the Cubecart admin system, you are given a few lines of code to paste into your (Unix/Linux) .htaccess file:
## Activate the mod_rewrite Engine
RewriteEngine On
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule cat_([0-9]+)(\.[a-z]{3,4})?(.*)$ index.php?_a=viewCat&catId=$1&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule prod_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=viewProd&productId=$1&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule info_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=viewDoc&docId=$1&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule tell_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=tellafriend&productId=$1&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule _saleItems(\.[a-z]+)?(\?.*)?$
Unfortunately, I couldn’t get these to translate directly into my httpd.ini file, but I found this solution on the Helicon forums:
[ISAPI_Rewrite]
RewriteRule .*?/cat_(\d+)(?:\.[a-z]{3,4})?([^?]*)(?:\?(.*))? /index.php\?_a=viewCat&catId=$1?2&$2 [I,L]
RewriteRule .*?/prod_(\d+)(?:\.[a-z]{3,4})?(?:\?(.*))? /index.php\?_a=viewProd&productId=$1?2&$2 [I,L]
RewriteRule .*?/info_(\d+)(?:\.[a-z]{3,4})?(?:\?(.*))? /index.php\?_a=viewDoc&docId=$1?2&$2 [I,L]
RewriteRule .*?/tell_(\d+)(?:\.[a-z]{3,4})?(?:\?(.*))? /index.php\?_a=tellafriend&productId=$1?2&$2 [I,L]
RewriteRule .*?/_saleItems(?:\.[a-z]+)?(\?(.*))? /index.php\?_a=viewCat&catId=saleItems?1&$1 [I,L]
Just put the code above into your httpd.ini file, upload it and the changes should take effect immediately with no server reboot required.
Happy Cubecarting!



2 Responses to “How to get Cubecart 4 friendly URLs on a Windows server”
By Steve R on Jul 27, 2008
Seems to be focusing the mind this cube cart thing….
By name on Sep 1, 2008
Hello!,