Solution:
app/code/core/Mage/Catalog/Model/Url.php
around line 807
Mage_Catalog_Model_Url::getProductRequestPath() ]
From:
if ($product->getUrlKey() == '' && !empty($requestPath)
&& strpos($existingRequestPath, $requestPath) === 0
)
To:
if (!empty($requestPath)
&& strpos($existingRequestPath, $requestPath) === 0
)
Step 1: Truncate
Truncate the core_url_rewrite table
Step 2: Reindex & Flush Caches
Initiate the re-indexing process on Core URL Rewrites.
Thereafter, you'll want to flush the Magento cache & storage cache.
System → Cache Management → Flush Magento Cache
System → Cache Management → Flush Cache Storage
You'll notice if you re-run the indexer, the table should stay constant in size (unless you've added more products inbetween or if you have duplicate category names).
Reference