I posted this in the IIS newsgroup. Apologies if this is considered xposting.
The issue is that any request to my websites returns the homepage. For example. A equest to http://www.mysite.com/category/post-title/ will return the homepage of www.mysite.com instead of the intended post page. This is *not* a redirect or urlrewrite issue. Its related to OutputCaching. The server is returning back deep URLS with the homepage html.
Behavior: Seems to happen randomly, to different wordpress sites. It will also fix itself after a few minutes, but the problem will resurface anywhere from once to several times an hour.
The experience for the user is that they click on any link or request any link to my site and they get the homepage html, despite the URL in the address window clearly changing.
Setup:
User-mode caching, set to 2:00 minutes. Vary by querystring set to "*" (I optionally tried setting this to ".*" but problem still occurs).
Win2k8 / IIS7
PhP 5.2.9
Latest fast-cgi windows binary (thread unsafe version)
Wordpress 2.7.1
Ive tried everything I can think of to isolate or further troubleshoot this issue to no avail. Ive redownloaded the php binaries, tried various setting changes in application host file, php.ini, tweaking maxRequests and other settings, and the problem persists.
Has anyone seen this behavior before? What am i missing here?
UPDATE: I think i have figured out what may be causing it, but still can't fix it:
Wordpress uses URL Rewriting, so perhaps the querystring is being stripped off the url before being cached by IIS? This would result in wordpress-site.com/index.php being served up as the "cached" version of every page, no?
A bit more searching turned up this reg fix:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Rewrite /v RewriteCacheEnabled /t REG_DWORD /d 0
Don't know really what it does but i have only seen the problem surface once since last night when i applied this.