Redirect Links From Another Platform

Assuming you have migrated your products to LiteCart from another
platform assigning the same IDs. Here are some good mod_rewrite rules
for telling Google and others your pages have moved.

Using .htaccess

OpenCart

/.htaccess:



 # Redirect old OpenCart URLs
 RewriteCond %{QUERY_STRING} route=product/category
 RewriteCond %{QUERY_STRING} path=([0-9]+_)?([0-9]+)
 RewriteRule ^index.php$ /index.php/category?category_id=%2 [R=301,L]

 RewriteCond %{QUERY_STRING} route=product/manufacturer/info
 RewriteCond %{QUERY_STRING} manufacturer_id=([0-9]+)
 RewriteRule ^index.php$ /index.php/manufacturer?manufacturer_id=%1 [R=301,L]

 RewriteCond %{QUERY_STRING} route=product/product
 RewriteCond %{QUERY_STRING} product_id=([0-9]+)
 RewriteRule ^index.php$ /index.php/product?product_id=%1 [R=301,L]

### osCommerce

**/.htaccess:**
```htaccess

 # Redirect old osCommerce URLs
 RewriteCond %{REQUEST_URI} ^(/|/index.php) [NC]
 RewriteCond %{QUERY_STRING} cPath=([0-9]+)
 RewriteRule .* /index.php/category?category_id=%1 [R=301,L]
 RewriteRule ^.*-c-([0-9]+).html$ /index.php/category?category_id=$1 [R=301,L]

 RewriteCond %{REQUEST_URI} ^(/|/index.php) [NC]
 RewriteCond %{QUERY_STRING} manufacturers_id=([0-9]+)
 RewriteRule (.*) /index.php/manufacturer?manufacturer_id=%1 [R=301,L]
 RewriteRule ^.*-m-([0-9]+).html$ /index.php/manufacturer?manufacturer_id=$1 [R=301,L]

 RewriteCond %{REQUEST_URI} ^/product_info.php [NC]
 RewriteCond %{QUERY_STRING} products_id=([0-9]+)
 RewriteRule (.*) /index.php/product?product_id=%1 [R=301,L]
 RewriteRule ^.*-p-([0-9]+).html$ /index.php/product?product_id=$1 [R=301,L]

Be sure to add the rules before: 

 # No logic for physical files
 RewriteCond %{REQUEST_FILENAME} -d [or]
 RewriteCond %{REQUEST_FILENAME} -f
 RewriteRule ^ - [L]

## Using The Routing Modules

LiteCart can also resolve external URLs stated using the URL routing
modules. Just append the result of the routes() method with more rules.
Experimenting with URL parameters is not recommended.

**includes/routes/url_category.inc.php:**
```php

   function routes() {
     return array(
       array( // LiteCart
         'pattern' => '#^.*-c-([0-9]+)/?$#',
         'page' => 'category',
         'params' => 'category_id=$1',
       ),
       array( // osCommerce
         'pattern' => '#^.*-c-([0-9]+).html$#',
         'page' => 'category',
         'params' => 'category_id=$1',
       ),
     );
   }

Revisions

Recently Edited Articles
This website uses no cookies and no third party tracking technology. We think we can do better than others and really think about your privacy.