title: Why? Output Caching Automatically Disables Browser Caching in IIS 7.5
body: <p>In IIS 7.5, when I don't have Output Caching enabled, my php script successfully sets browser caching in the Cache-Control header: </p>
  
  <p>Cache-Control:  max-age=43200,public<br>
  Content-Type:   text/html<br>
  Expires:    Wed, 30 May 2012 22:15:18 GMT<br>
  Server: Microsoft-IIS/7.5<br>
  X-Powered-By:   PHP/5.4.3<br>
  Date:   Wed, 30 May 2012 10:15:18 GMT<br>
  Connection: close<br>
  Content-Length: 5105</p>
  
  <p>However, if I enable Output Caching for .php files, I get the following header:</p>
  
  <p>Cache-Control:  no-cache,max-age=43200,public<br>
  Content-Type:   text/html<br>
  Expires:    Wed, 30 May 2012 22:25:34 GMT<br>
  Server: Microsoft-IIS/7.5<br>
  X-Powered-By:   PHP/5.4.3<br>
  Date:   Wed, 30 May 2012 10:25:34 GMT<br>
  Connection: close   </p>
  
  <p>(notice "no-cache" is added to the Cache-Control before my php script's work)</p>
  
  <p>There is no way, I've found, to prevent "no-cache" from being added to the Cache-Control key, if Output caching is enabled for a file type. I've tried to do it in the web.config file:</p>
  
  <pre><code>        &lt;customHeaders&gt;
              &lt;remove name="X-Powered-By" /&gt;
      &lt;remove name="Cache-Control" /&gt;
              &lt;add name="Cache-Control" value="public" /&gt;
          &lt;/customHeaders&gt;
  </code></pre>
  
  <p>That doesn't work. Why must this be so mutually exclusive? I'd like to have both Output Caching and Browser Caching enabled.</p>