我有一个多tennant网站,我将从Win 2000上的IIS5迁移到Win Server 2008 64位上的IIS7。
每个tennant都有自己的域名,它们指向应用服务器的IP地址。
然后,我们在IIS中为每个域名设置一个站点,并将物理路径设置为我们(经典的) ASP文件所在的路径。
对于每个站点,我希望设置一个运行ASP文件并在查询字符串中传递CompanyID的默认文档。
例如。
www.site1.com将致电Connect.asp?CompanyID=425
www.site2.com将致电Connect.asp?CompanyID=426
等
为了在IIS7上实现这一点,我在ASP文件的根物理路径中有一个web.config文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="www.site1.com">
<system.webServer>
<defaultDocument>
<files>
<add value="Connect.asp?CompanyID=425" />
</files>
</defaultDocument>
</system.webServer>
</location>
<!-- a location entry for every other website here... -->
<location path=".">
<system.webServer>
<defaultDocument>
<files>
<add value="Connect.asp?CompanyID=1" />
</files>
</defaultDocument>
</system.webServer>
</location>
</configuration>这是不起作用的-所有的网站都将进入CompanyID=1条目。
有人能指出我做错了什么吗?
我尝试过将path属性设置为
不管是哪种方式都不起作用。
发布于 2009-12-10 12:07:26
我找到了解决方案在iis论坛上的这个链接上
您可以将配置放在applicationhost.config中的位置标记中,而不是在web.config文件中--通过命令行执行如下操作:
%windir%\system32\inetsrv\appcmd.exe set config "MySite1“一节:system.webServer/defaultDocument -+files.value=‘newdoc.aspx’ -commitpath:apphost
因此,对于我上面发布的示例,我为我的每个站点运行了以下命令
%windir%\system32\inetsrv\appcmd.exe set config "MySite1 - www.site1.com“-章节:system.webServer/defaultDocument -+files.值=‘Connect.asp?CompanyID=425’ -commitpath:apphost
和
%windir%\system32\inetsrv\appcmd.exe set config "MySite2 - www.site2.com“-章节:system.webServer/defaultDocument -+files.值=‘Connect.asp?CompanyID=426’ -commitpath:apphost
当您转到IIS7管理程序中的两个站点的默认文档程序时,您将看到为这两个站点设置的不同的默认文档。
https://serverfault.com/questions/92641
复制相似问题