Rendering problem will be an HTML/CSS issue, not a PHP issue. Especially so since it works on desktop browsers but not on mobile. First thing to check would be that it validates against the w3 html validator, and go from there.
As for the second problem regarding the redirect, I would suggest that's also a problem unique to the device. If it works properly on desktop browsers using a 301/307 header, than it sounds like the iphone safari has a pisspoor implementation of the http specifications. That assumes of course that the redirection ruleset doesn't include anything to do with browser specific redirections. The only thing I can suggest is trying a different browser on the iphone, and I haven't a clue what's available for options.
Doesn't sound like this has anything to do with PHP code itself. Moving to building for mobile devices forum.
header('HTTP/1.1 420 Enhance Your Calm');