Pregunta

In most browsers everything is fine

In IE9/10 The site throws a 500 error.

The page in question does have a post, redirect and get to avoid form re-submission UX bugs. After doing some investigation I have modified this to include the full URL, space and 303 response code as per this question:

Post-Redirect-Get with Internet Explorer

It seems in my case that IE tries to do the redirecting, but rather than getting to the page it should get to it just reloads the current page. It then either throws a 500 error momentarily afterwards or doesn't even reload the current page, just goes straight to 500.

Inspecting the error logs reveals the following pair of errors that seem to be thrown by the attempt to load the page.

[12:55:33] [warn] 
    mod_fcgid: read data timeout in 45 seconds, 
    referer: h##ps://#######/make-model-search/     
[12:55:33] [error] 
    Premature end of script headers: index.php, 
    referer: h##ps://#######/make-model-search/ 

Make model search is the page which is getting reloaded, the one from which the user moves on from in a second or two in the world of browsers that work properly.

This question is similar and suggests increasing the timeout values, but does not talk about IE specifically: I'm not sure that upping timeouts is the best solution for something that appears to be browser specific

500 Server error: Premature end of script headers:

To reproduce the error in the browser, visit the following URL: http://www.easywheels.co.uk/ and use registration NA62EGU Click on 'find tyres' then 'accept and proceed' (at which point the error is thrown on IE)

¿Fue útil?

Solución

Have you tried disabling server compression for IE? I don't know why, I've met this error before and this fixed it for me:

RewriteEngine on

<IfModule mod_headers.c>
  RewriteCond %{HTTP_USER_AGENT} MSIE\ [56]
  RewriteCond %{HTTP_USER_AGENT} !SV1
  RewriteCond %{REQUEST_URI} \.(css|js)$
  RewriteRule .* - [E=REMOVE_IE_ACCEPT_ENCODING:1]

  <LocationMatch \.(css|js)$>
    RequestHeader set Accept-Encoding "" env=REMOVE_IE_ACCEPT_ENCODING
  </LocationMatch>
</IfModule>

Basically modifying headers for Accept-Encoding.. but I can't find my notes on disabling compression for IE though. It's a good place to start nonetheless. Sometimes it's the optimizations that bite us in the ass.

EDIT:

After digging a bit, here's for disabling compression: http://www.aptivate.org/webguidelines/EnablingCompressionOnYourWebServer.Apache2.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top