我有两个网站ASP经典 – www.company.com和www.companytesting.com。
每年的这个时候,company.com被指向一个名为website2012的文件夹,companytesting.com指向一个名为website2013的文件夹。 这两个文件夹的内容几乎完全相同,只是我们的季节变化(我今天应该做的 – lol)只是微小的变化。
直到几个星期前,我正在运行Windows Server 2003.要更新“活动”网站,我会复制一个testing站点文件夹,并将其重命名为website2013R1,并将testing站点指向那里,然后指向现场网站在2012年。
我们现在有Windows Server 2008 R2 64.(我有人把我的网站迁移到新的服务器上。)
companytesting.com网站,当我指向它的网站2013R1,工作正常。
company.com网站,当我指向它的网站2013(刚刚工作,为companytesting.com网站)给一个空的页面。 (即查看源代码=什么都没有)。发生这种情况时,失败的请求日志中没有任何内容。
我可以使用IIS7.5中的浏览button/链接(右上angular)并查看其中的所有文件。 如果我使用浏览button(通常或在index.asp页面),我再次获得空白页面。
关于如何设置的一个奇怪之处是,companytesting.com使用login(我认为是Windows身份validation – 它只是一个用户名和密码的工作人员,并保持谷歌机器人)。 显然,company.com没有。 但redirect到website2013r1保持login到位。 (所以我不清楚这是连接到文件夹还是站点,更改path后点击company.com网站没有产生密码请求。)
文件夹上的权限似乎都是一样的,但显然,我错过了一些东西。
为什么不改变物理path的工作?
可能很明显,我对服务器不了解。 我在2003年没有问题,但是由于这不是我的主要任务,现在我已经被埋没了,所以我几乎没有看到2008年。所以当我要求我去检查一些东西的时候,我可能会有一些非常愚蠢的问题。
问题在于Win Server 2003和Win Server 2008处理受密码保护的testing站点的不同方式,或者至less是我雇用的顾问设置它的方式。
问题是web.config文件在website2012和website2013文件夹之间有所不同。 在web.config文件中限制对开发站点的访问,并且包含以下行:
<remove users="*" roles="" verbs="" />
由于现场网站没有附加的用户名/密码,它没有提出用户名密码框,只是给了我一个空白页面。
我把web.config从“旧”的网站放到了website2013文件里,问题就解决了。