Hi AD,

after one complete day of debug/experiment without success, I noticed that 
attribute Age: 0 appears at the second Server Response of the loop.

Searching for the specification of the Age header field, I suspect the 
presence of the header field Age: 0 maybe means that the response is sent 
by intermediate cache from the server.

So I added in the send() function on lib/Network/CakeResponse.php (I know 
it's probably a bad idea, but it's only for discover the problem) this:

if ($this->_status === 301) {
           $this->_sendHeader("Cache-Control: no-store, private, no-cache, 
must-revalidate");
           $this->_sendHeader("Cache-Control: pre-check=0, post-check=0, 
max-age=0, max-stale = 0");
}


And now the server response after redirect is 200 and everything works well.

My question now is: Is it a cake problem or a server problem?

My doubt came for this reason: In local always works fine. But on online 
server, with a only PHP file with the same headers that CakePHP set for a 
redirect, any loop is created and there's no need to disable browser cache. 
Only happens if the headers are set inside CakePHP code.

Albert


El dilluns 1 de juliol de 2013 21:36:54 UTC+2, AD7six va escriure:
>
>
>
> On Monday, 1 July 2013 20:57:04 UTC+2, floydbrush wrote:
>>
>> Sorry, I tried to explain but my "spanish" english is bad :/
>>
>> What I wanted yo say is that not exists that information, seems like is 
>> not executed redirect in the loop. 
>>
>
> If there's no log entry for Cake redirecting from /testredirected/test to 
> /testredirected/test, but your app IS redirecting like that - then either:
>
> 1) Your app isn't responsible for that redirect
> 2) Your app is responsible for the redirect but the thing responsible 
> isn't using the controller redirect method.
>
> You need to identify how that redirect is being issued, the first step to 
> that is reproducing the problem which so far you're only doing indirectly 
> (not going to help/work). That means, quite simply, you need to 
> debug/experiment. Put stuff like this in your webroot/index.php:
>
> <?php
> if ($_GET['url'] === '/testredirected/test') {
>     echo "Forcing a  headers-already-sent error";
> }
> ...
>
> And look at the stack trace when your app issues a redirect.
>
> That's just an example - you need to do the leg work to find your logical 
> loop.
>
> AD
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to