今天要部署一個網站和一個和網站相關的webservices接口,我把網站部署後,就把WEB接口作爲它下面的一個虛擬目錄來處理了,這樣他們可以共享一個域名.他們各個都有一個webconfig配置文件,部署後發現網站正常,可是WEB接口卻報錯,說配置文件出了問題,仔細檢查發現WEB接口用的是網站的配置文件,一下子沒招了.
後來在網上一查,發現利用配置文件的配置節可以讓它不繼承父目錄的配置文件,如下
<location path="." allowOverride="false" inheritInChildApplications="false"> </location>
把它加在父目錄的<system.web>節外面即可,測試一下果然如此,甚喜,雖記之以備忘,同時也於大夥共享!
下面是更好的一個:
虛擬目錄中的web.config繼承了主目錄中的web.config出現問題是由於根目錄中的web.config添加了httphandler、 httpmodule 引起的。解決辦法:將 httphandler httpmodule的聲明添加到location中。如下所示: <location path="." allowOverride="true" inheritInChildApplications="false"> <system.web> <httpModules> <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" /> </httpModules> </system.web> </location> path 不用說指定的是一個目錄 allowOverride 指是否可以將這個重寫 inheritInChildApplications 指是否被子級應用程序繼承