Iis

有沒有辦法告訴 IIS7 管理器修改 applicationHost.config 中的處理程序?

  • April 25, 2011

每當我在 IIS7 管理器中為網站添加處理程序映射時,它總是將處理程序添加到站點的本地web.config文件中。

有沒有辦法告訴經理只將處理程序映射添加到站點配置中applicationHost.config,例如:

<location path="Test Site">
   <system.webServer>
       <handlers>
           <clear />
           <add 
               name="PHP-FastCGI" 
               path="*.php" verb="GET,HEAD,POST" 
               modules="FastCgiModule" 
               scriptProcessor="c:\php\php-cgi.exe" 
               resourceType="Either" 
           />
           <-- Other handler mappings here -->
       </handlers>
       <security>
           <authentication>
               <anonymousAuthentication 
                   enabled="true" 
                   userName="i_test" 
                   password="[enc:AesProvider:snipped:enc]" 
               />
           </authentication>
       </security>
   </system.webServer>
</location>

我知道如何appcmd使用/commit:apphost開關來做到這一點,但最好通過 UI 實現這一點。

IIS 管理器有意將設置設置為允許的最低級別。由於您可以在站點的 web.config 中設置該設置,因此它將始終在此處應用。

IIS 管理器本身並沒有讓您選擇在哪裡設置它。原因是對於普通管理員來說,它很快就會變得混亂和混亂,因為如果在 web.config 中也設置了 applicationHost.config 中的設置,它將被忽略。因此,確保沒有混淆的最簡潔方法是將其應用到允許的最低級別。

解決方案(除了 appcmd 或直接編輯 applicationHost.config 之外)是使用 IIS 管理包中的配置編輯器(在 WS08 R2 上預設安裝 IIS 7.5)。這確實允許您選擇要應用設置的位置。

實際上,為了完整起見,雖然對於處理程序來說通常不是一個值得選擇的選項,但您可以關閉該站點或伺服器的處理程序的委派。然後 IIS 管理器會在 applicationHost.config 中設置它。

引用自:https://serverfault.com/questions/74365