虚拟目录wegconfig的配置

昨天需要新建一个虚拟目录放在以前的一个站点下,新建了应用池,配好了环境置顶路径,虚拟目录页建立成功 ,但是程序一直是报错。这个程序我在测试服务器上是测过的,新建了一个站点是可以正常访问的,排除了程序问题。

一直是报500,在webconfig配置抛出错误的 customErrors节点也不起作用,后来把程序全部删掉放了一个静态页,是可以访问成功的,说明虚拟目录的配置也是没问题的,毫无头绪,在网上查了好久各种配置都试过了还是不行,今天无意中看见了一个帖子给我灵感,然后试了一下果然成功了

虚拟目录的webconfig是继承了根目录的webconfig的所有配置的,所以如果有节点名称是一样的话就会有冲突报错。这时候很可能会出 http 500的错误

这个时候有两种方法可以解决

1.在根目录解除子目录的继承

1 <configuration>
2   <!--...其他配置...-->
3   <location path="." inheritInChildApplications="false">
4     <system.web>
5
6     </system.web>
7   </location>
8   <!--...其他配置...-->
9 </configuration>

这里的inheritInChildApplications就是接触子目录webconfig的继承,将不需要子目录继承的节点放在这个节点里面就ok了

这种方法的优点是很简单,但是不够灵活,同时面对较复杂的Web.config配置,仍可能会报错。比如根目录和子目录有着不同的system.webServer配置,按照这个方法在根目录的system.webServer外面加上了location限制,不幸的是,IIS7下会出现500错误。

2.在子目录对冲突的节点处理

根目录节点

1 <connectionStrings>
2     <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
3   </connectionStrings>

子目录节点

1 <connectionStrings>
2     <clear/>
3     <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
4   </connectionStrings>

在冲突的节点前先clear,清除之前的配置,然后再加载下面的配置就可以了,除了clear 还有remove也可以

 <connectionStrings>
    <remove name="DBConnectionString"/>
    <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
  </connectionStrings>

这种配置方法可以用在所有的节点上,使用起来也比较灵活,个人推荐用第二种方法。

参考来自 http://blog.csdn.net/papalian/article/details/7204248  就是我看的那篇帖子,介绍的更为详细一些

最后说一下,昨天从下午三点到晚上十点,今天上午又弄了一个小时。希望大家可以用得上,以后出现同样的问题直接就可以用了,大家也要多分享

时间: 2024-10-12 16:35:11

虚拟目录wegconfig的配置的相关文章

Nginx虚拟目录支持PHP配置

感谢作者:http://blog.csdn.net/fangaoxin/article/details/7030139 location ~ ^/test/.+\.php$ { alias /var/www/html/test/; rewrite /test/(.*\.php?) /$1 break; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /var/www/html/

Apache之——配置虚拟目录

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48142201 一.配置 Apache配置虚拟目录主要是修改httpd.conf文件就可以了. 打开httpd.conf文件,找到如下代码: <IfModule dir_module> DirectoryIndex index.html </IfModule> 如图所示: 在这段代码的下面添加如下代码: #配置虚拟目录 <IfModule dir_module&

Tomcat配置域名和虚拟目录

说明: 我在本机中增加域名模拟,如果是主机直接配置也可以使用,我用的tomcat是apache-tomcat-7.0.42 本地增加域名 本文介绍如何通过修改tomcat的配置,实现通过IP地址或者域名直接访问tomcat中应用. 首先我将自己的主机中配置了4个域名 配置server.xml端口号 1. 找到tomcat的主目录,进入conf文件夹,找到server.xml文件,并打开: 2. 修改tomcat的监听端口为80端口:保证其他服务器80端口不被占用才能使用 在server.xml文

JSP配置了虚拟目录使用JavaBean报错

今天遇到一个很棘手的问题,在jsp文件中使用useBean,网页返回码出现了500服务器内部错误,报错信息如下: The value for the useBean class attribute wp.A is invalid. 之前项目放在tomcat的webapps文件夹下,运行是正常的,现在是配置了虚拟目录,所以与javabean无关,应该是和配置了虚拟目录有关 尝试了很多方法都没用,最后找到了正确的解决方案(解决方法在最下面,如果会使用javabean的可直接跳过中间部分) 在此之前,

Nginx 虚拟目录和虚拟主机的配置

nginx.conf 配置文件的几个常用命令 nginx 配置文件主要分为六个区域: main: 全局设置 events: nginx工作模式 http: http设置 sever: 主机设置 location: URL 匹配 upstream: 负载均衡服务器设置 下面,就以在 Windows 上使用 phpStudy 集成开发环境举例说明下 Nginx 的虚拟目录和虚拟主机是如何配置的: Nginx 虚拟目录配置 通俗地讲,虚拟目录的意思就是浏览器上输入的 URL 不一定就代表网站在文件系统

Exchange owa与ecp虚拟目录重建

说明:此实验模拟Exchange owa与ecp虚拟目录从IIS中强制删除后的恢复,此环境仅一台Exchange,角色为All in one 从IIS中删除ECP与OWA 通过Exchange Management Shell重建立ECP虚拟目录a. 直接使用New-EcpVirtualDirectory提示此虚拟目录已存在b. 使用Get-EcpVirtualDirectory获取ECP虚拟目录列表c. 删除此损坏的虚拟目录d. 重新建立虚拟目录(常规命令是需要指定站点与内外域名,此处不为重点

Apache配置虚拟目录和多主机头

呃,相当古老的话题了,不过网上的资料实在是太坑爹,无奈只能自己动手做个备忘了...这里不提虚拟目录和主机头的区别了,不懂得童鞋去面壁思过吧 多个虚拟目录 首先把Apache安装到D:\Program Files\Apache2.2目录下,端口号设置为8080,安装完成后默认的网站根目录为D:\Program Files\Apache2.2\htdocs,通常我们可以在htdocs下面建立个文件夹MySite,然后在浏览器输入:http://localhost:8080/MySite 这样就可以看

Exchange 2010虚拟目录配置要点概述

默认情况下webservices的虚拟目录的内部和外部URL无法在图形界面修改,我们可以借助powershell. 首先查看webservices虚拟目录的配置情况. 可以从下图看到cas01的webservices的虚拟目录配置是默认的. 先查看帮助信息,获取设置internalURL的命令. 这里我要把他的internalURL改成统一的名称,可以使用下面的命令. 下图我设置了CAS01和CAS02服务器的internalURL地址. ============================

apache2.4配置虚拟目录

刚开始学习,跟着韩顺平老师的视频课件学习ing~ 这是自己在配置虚拟目录时遇到的问题以及解决办法,记录下来~ ---------------------------分割线君------------------------------- 我的apache安装目录为E:\apache\Apache24 想要配置的目录为D:\myblog 中的网页文件 step1 添加虚拟目录节点 找到E:\apache\Apache24\conf 中的httpd.conf文件,增加下图红框中代码 step2 注释d