我有一个我在内部的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个
维护不同的站点,一个用于内部,一个用于异地。
所以,我的问题是......
c:/inetpub/<sitename>
是这个单一网站的主目录还是根目录?有配置吗?
在IIS中,将为这个虚拟目录执行此操作 ,而不是打扰另一个
在此服务器上托管的网站?如果没有;
我一直在搜索这一周。我发现的所有解决方案都特定于Apache或IIS,但在两者中都不起作用。
谢谢!
答案 0 :(得分:0)
好的,这是一个-possible-答案......
我将每个../
更改为PHP include语句,调用名为SiteBase.txt
的文件。
在IIS服务器上,SiteBase.txt由一行组成:http://<ServerName>/<sitename>/
。
在WAMP服务器上,SiteBase.txt包含一行:../
这样,当我将站点从开发服务器移动到生产服务器时,我只需要更改这个文件。有点蛮力,但似乎有效。
是否有人发现此问题?
谢谢!