如何讓虛擬目錄里面的webconfig不繼承網(wǎng)站的設(shè)置
必須在上一層虛擬目錄(如根目錄)所在的Web.config加上
如:<location path="." allowOverride="false" inheritInChildApplications="false"> </location>
方法如下:
程序代碼
<location path="." allowOverride="false" inheritInChildApplications="false">
<system.web>
<pages maintainScrollPositionOnPostBack="true">
</system.web >
</location>
如此下一層的虛擬目錄就可以達(dá)到你要的需求了。
?
下面再轉(zhuǎn)一篇:
=====================================================
?
今天要部署一個(gè)網(wǎng)站和一個(gè)和網(wǎng)站相關(guān)的webservices接口,我把網(wǎng)站部署后,就把WEB接口作為它下面的一個(gè)虛擬目錄來處理了,這樣他們可以共享一個(gè)域名.他們各個(gè)都有一個(gè)webconfig配置文件,部署后發(fā)現(xiàn)網(wǎng)站正常,可是WEB接口卻報(bào)錯(cuò),說配置文件出了問題,仔細(xì)檢查發(fā)現(xiàn)WEB接口用的是網(wǎng)站的配置文件,一下子沒招了. 后來在網(wǎng)上一查,發(fā)現(xiàn)利用配置文件的配置節(jié)可以讓它不繼承父目錄的配置文件,如下 <location path="." allowOverride="false" inheritInChildApplications="false"> </location> 把它加在父目錄的<system.web>節(jié)外面即可,測(cè)試一下果然如此,甚喜,雖記之以備忘,同時(shí)也于大伙共享! 下面是更好的一個(gè):
虛擬目錄中的web.config繼承了主目錄中的web.config出現(xiàn)問題是由于根目錄中的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 不用說指定的是一個(gè)目錄 allowOverride 指是否可以將這個(gè)重寫 inheritInC hildApplications 指是否被子級(jí)應(yīng)用程序繼承
一、應(yīng)用身份驗(yàn)證、但個(gè)別目錄或文件不需要身份驗(yàn)證
最常見的是一個(gè)網(wǎng)站的后臺(tái)需要驗(yàn)證,而前臺(tái)是不需要的;一般登錄頁面會(huì)有驗(yàn)證碼、而生成驗(yàn)證碼那個(gè)頁面是不需要驗(yàn)證的、否則驗(yàn)證圖片是顯示不出來的。 解決方法: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 二、改寫(不需求)web.config繼承 假設(shè)IIS中有個(gè)站點(diǎn)A、而A站點(diǎn)下面有個(gè)虛擬目錄B、此時(shí)可以輸入:" ttp://ip 址/" 訪問到A站點(diǎn),輸入 http://ip地址/B 訪問到B網(wǎng)站;而B項(xiàng)目中的web.config首先會(huì)繼承A站點(diǎn)的web.config,如果A的config有很多設(shè)置如<httpModules>,<page>等,而B項(xiàng)目的config沒有這些設(shè)置,項(xiàng)目也沒用到這些設(shè)置,但B的程序在運(yùn)行時(shí)確會(huì)出錯(cuò)、原因就是它繼承A的config;這個(gè)讓人有點(diǎn)討厭“我壓根沒用它、怎么會(huì)有錯(cuò)?且提示出錯(cuò)的那個(gè)文件是A的config”,可以這樣解決: A項(xiàng)目用到了主題 ![]() ![]() A的設(shè)置 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 三、禁止web.config重寫 同上面的例子、如果B中的config設(shè)置必須與A中的相同,不能重寫,則A的config設(shè)置 ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
