Filed under IIS
We recently had an issue of a page not loading of us once we integrated it with Facebook. This was a simple html page with nothing special on it so I was a bit confused that it would not load in Facebook for me. We were hosting the webpage on a Windows 2003 server running IIS6. Nothing fancy.
Going to the website in the browser worked great but any request coming from app.facebook.com didn't seem to be getting through. I took a look at FireBug to see what was actually being sent and received when I was calling the website from Facebook and noticed that I was getting back a HTTP 405 error. This was telling me that the calls Facebook were trying to make were not allow on my server.
I did a bit of searching on this and didn't find anything in particular about Facebook and these types of errors. However, I did notice that some people would get these errors on other web apps and the issue was down to 'html' or 'htm' file types not allowed to be called by get or posts from external requests.
To resolve the issue you need to go into IIS and right click on the domain giving you the issue and click on 'Properties'.
Next go to the 'Home Directory' tab and click on the 'Configuration' button.
Click on 'Add' on the 'Mappings' tab that just opened and either browse to the following file or enter it in the textbox:
Type in ".html" (without the quotes) in the extension box and Limit the calls to just "GET,POST" (without quotes).
Click OK to close the popup window and again to return to the IIS domain list.
When you now view your site through your Facebook app it will appear for you without any issues.