Recursive loop in admin on unicode domain name
I'm setting up Fuel on a new server, and when I use the admin with Firefox, links like:
/fuel/dashboard
/fuel/manage/cache
work OK, but others,
/fuel/pages
/fuel/sitevariables
/fuel/blocks
go into a recursive loop whereby the right hand column repeats the parent frame, so that (briefly) the entire admin fuel/blocks view appears inside where the fuel/blocks list page would be.
Example screenshotIn a local environment on a Mac, there isn't any problem, so what else might be wrong - I've never seen this behaviour before? The default htaccess won't work on the server (I have to remove Options +FollowSymLinks or the pages 500) but this isn't an issue for the local copy, and in any case I can't see any relation to symlinks.
Comments
Basically, some of the site admin goes into a redirect loop using Firefox or IE, but is OK in Chrome and Safari.
The site has a unicode domain (it has an umlaut in the domain name). Could this be an issue?
PHP is v5.6.7 on the German domain.
A consistent error in the browser console, before the redirect loop makes debugging impossible, is with jqx.createController(). Maybe this is just one of the last things to get logged.
I can't see jqx.js being loaded on the Pages module, whereas it is loaded with fuel.min.js and jquery, with timestamp parameters by the dashboard first thing - that would explain the "not a function" log.
There's a play/pause in FFWDE's debugger console which has a similar effect to the alert option you suggested.
<div class="nodata">No data to display.</div> <input type="hidden" name="offset" id="offset" value="0" /><input type="hidden" name="order" id="order" value="asc" /><input type="hidden" name="col" id="col" value="location" />
So that does suggest the problem you mention - its as if the module controller items() method isn't recognising the request as ajax, so delivers a full list page?
And... looking deeper..., thanks for mentioning it, the X-Requested-With:XMLHttpRequest header isn't visible in Firefox, but is in Chrome. Printing out the $_SERVER['HTTP_X_REQUESTED_WITH'] does result in NULL.
So the unicode problem I thought it might be seems less likely.
Elsewhere on the server I wrote a simple ajax call, and that responds OK - the HTTP_X_REQUESTED_WITH is present and correct even in Firefox, so there seems to be just an issue with the admin, and admin pages with module ajax calls.
I take it then that the $_SERVER['HTTP_X_REQUESTED_WITH'] index is absent because the page is recognised as cached? So, an ajax call that refused a cache might be worth a try.
I'm not clear what is calling the ajax request - is it PageController.js?
It seems that unicode - or punycode - is the norm, and that browsers will show the IDNA as intended, but really operate on plain ASCII.
And yet something Ajaxy breaks on the IDNA version but not otherwise.
This link gives an overview of the situation for Switzerland (3 national languages)