Skip to content
This free open source extension solves a problem most big ‪#‎Magento‬ 1.x shops face: an ever growing huge URL Rewrite table. This extension solves a still existing bug in Magento 1.x which creates unnecessary rewrites all the time. It can also clean up the existing mess.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Fixed redirect loop icw "StoreCode in URL" Jan 30, 2017
shell Version 1.6.0: Renamed JeroenVermeulen_RewriteFix to MageHost_Rewrite… Jul 11, 2016
var/connect
.gitignore Improved Magento Connect file May 19, 2017
README.md
composer.json Update composer.json Aug 1, 2017
modman

README.md

MageHost_RewriteFix

We are sorry but we cannot offer customer support for this extension, and it is provided "as-is" for free. We use it at a number of big shops and it works well.

Due to bugs in Magento, once an rewrite URL ends with -[number] you get more and more rewrite URLs to the same target. The number gets higher and higher. Indexing gets slower and slower.

This extension is a workaround for this problem. Requires Magento 1.7.0.2 or greater.

How to install using Modman (--copy)

  1. Make sure you run Magento 1.7 or newer
  2. Install Modman
  3. cd to your Magento root dir
  4. test -d .modman || modman init
  5. modman clone --copy --force https://github.com/magehost/magehost_rewritefix
  6. If you keep your Magento code in Git: Add .modman to your .gitignore
  7. Run php shell/mh_rewrite_cleanup.php -- cleanup once
  8. Reindex the catalog_url index

Verify if needed

You can verify if your installation has this problem by using this query (presuming no DB prefix). If the largest count is > the number of store views then this is a hint that something is wrong.

SELECT `id_path`, COUNT(*) as `total`
FROM `core_url_rewrite`
GROUP BY `id_path`
ORDER BY `total` DESC

For deeper investigation you can inspect the rows with the highest count using SELECT * FROM `core_url_rewrite` WHERE `id_path`='[id_path from previous query]' There should be 1 entry per id_path for every store view - and not more - unless you renamed the product URI yourself.

You can’t perform that action at this time.