IIS虚拟目录主页与Apache不同

时间:2012-10-18 01:54:28

标签: apache iis virtual-directory home-directory

我有一个我在内部的WAMP服务器上开发的站点,并且是在异地托管的(可能是在Apache服务器上)。该站点是在WAMP服务器的根目录(C:\ wamp \ www)中创建的。我现在正试图将内部开发站点移动到Windows Home Server v1框(实质上是运行IIS 6的Server 2003机器)。我试图没有两个不同版本的网站:一个用于内部(在IIS上),另一个用于托管异地(在Apache上)。

在WHS机器上,我有一个虚拟目录<sitename>位于:

c:/inetpub/<sitename>

我可以在服务器上访问它:

Localhost/<sitename>

以及从LAN上的任何位置:

<ServerName>/<sitename>

当我最初编写网站时,几乎每个文件都使用了../声明, 路径,目录和PHP包含文件。这在WAMP服务器上和 异地主机。但是,当我将网站移动到虚拟目录<sitename>时,它 在IIS服务器上失败。

所有这些../引用都指向服务器根目录:

<ServerName>/

而不是网站回家:

<ServerName>/<sitename>

据推测,我可以将网站移动到'root'目录:c:/ inetpub / wwwroot,但是 Windows Home Server将此用于其他目的。

我可以将每个引用从../更改为../<sitename>/,但这意味着有2个 维护不同的站点,一个用于内部,一个用于异地。

所以,我的问题是......

  1. 有没有办法声明虚拟目录c:/inetpub/<sitename> 是这个单一网站的主目录还是根目录?有配置吗? 在IIS中,将为这个虚拟目录执行此操作 ,而不是打扰另一个 在此服务器上托管的网站?
  2. 如果没有;

    1. 有人可以指点我以其他方式按顺序重写网站 让它在两个 Apache和IIS 6上运行,没有/最小 两个不同服务器的变更?
    2. 我一直在搜索这一周。我发现的所有解决方案都特定于Apache或IIS,但在两者中都不起作用。

      谢谢!

1 个答案:

答案 0 :(得分:0)

好的,这是一个-possible-答案......

我将每个../更改为PHP include语句,调用名为SiteBase.txt的文件。

在IIS服务器上,SiteBase.txt由一行组成:http://<ServerName>/<sitename>/

在WAMP服务器上,SiteBase.txt包含一行:../

这样,当我将站点从开发服务器移动到生产服务器时,我只需要更改这个文件。有点蛮力,但似乎有效。

是否有人发现此问题?

谢谢!