4.3.1 Redirection Loop

Helpdesk has been no help whatsoever. Cs-cart did the upgrade from V4.2 to V4.3 for this client.

I have an addon that I believe is immune to all published addon changes for V4.3.1.

Admin appears to work properly.

However, going to customer's home page ends up in redirect loop of 301 redirect on /index.php.

[indent=1]67.168.X.Y - - [20/May/2015:19:13:08 -0600] "GET /index.php HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"
67.168.X.Y - - [20/May/2015:19:13:08 -0600] "GET /index.php HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0"[/font][/indent]

[indent=1]and repeats[/indent]

Customer site forces https (but not sure whether this is done in cs-cart or above the .htaccess level).

The odd thing is that this addon has no customer components. No controllers/frontend (other than an addon specific one that displays the version), no theme templates, nothing. It uses two hooks (change_order_status and update_profile), neither of which would be touched on just accessing the home page.

If I disable the addon, the redirection problem goes away.

I've looked at the logs and see the 301 redirects (above). But I have no way of knowing what page is doing the redirection and/or where it might be coming from.

Anyone have any insight on how to diagnose this issue on this customer's production site? They have several other addons from several other developers installed. And there are other “admin only” addons from me that are NOT generating this issue.

I'm perplexed on how to proceed and would appreciate any insights you might have.

If you provide us with the temporary FTP access, our specialists can check the issue.

Tony, looks llike we found the problem. But could not say for sure its source.

At the moment as temporary solution you can define constant

define('DISABLE_HOOK_CACHE', 1);

in config and this will solve the problem.

I will post the “good fix” as soon as we find the source of the problem.

Awesome. Added the define to local_conf.php (conditionally) and the client side now seems to work.

Thanks for the quick response.

Tony, here is the right fix: [url=“app-functions-fn.control.php.diff · GitHub”]https://gist.github.com/alpharder/021efa08c094610f6e91[/url]

So you can remove the constant [color=#282828][font=arial, verdana, tahoma, sans-serif]DISABLE_HOOK_CACHE, because it can affect the performance.[/font][/color]

Damn Tony! You must be special to get that kind of service?

Must be my lucky day. Thanks Imac for the great service. I was really at a loss as to how to proceed.