All add-ons currently require PHP 7.4 or greater.

On July 4th 2024 PHP 8.2 will be the new minimum requirement for all add-ons. Expect any add-on released after that date to require 8.2 or greater. Some releases may not immediately take advantage of 8.x specific features in PHP, which means you might, be able to continue using new releases in PHP 7.4, however, if you experience an error the first thing you should do is update to PHP 8.2 then create a support ticket if the error persists.

Please read about the changes to BoldMinded add-on licensing.

Ticket: Query string on homepage results in a redirect loop with “force prefix” setting

Status Resolved
Add-on / Version Publisher
Severity Trivial
EE Version 13

Timothy Kelty

Jul 17, 2013

In publisher/libraries/Publisher/Publisher_session.php:421 you’re appending the language code to the whole urll (including the query string). If you have a query string on the homepage it results in a redirect loop like:
site.com/?foo=barenenenenenenenenenenenenenen…

See conditional

if(ee()->publisher_setting->get('url_prefix') && 
           ee()->publisher_setting->get('force_prefix') && 
           empty($segments) 
        ){
#1

BoldMinded (Brian)

Thanks, Tim. I’ll take a look.

#2

BoldMinded (Brian)

Try updating it to this. Not sure if this is the best way to fix it, but it seems to work in my full 3 minutes of testing.

if(ee()->publisher_setting->get('url_prefix') && 
           ee()->publisher_setting->get('force_prefix') && 
           empty($segments)
        ){
            if (strstr($url, '?') !== FALSE)
            {
                $url = str_replace('?', $this->language_codes[ee()->publisher_lib->lang_id] .'?', $url);
            }
            else
            {
                $url = $url . $this->language_codes[ee()->publisher_lib->lang_id];
            }

            $this->set_language(ee()->publisher_lib->lang_id, $url, TRUE);
        }
#3

Timothy Kelty

Seems to work for now, thanks!

Login to reply