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',
),
);
}