2012-10-18 35 views
2

我有一個網站是在內部的WAMP服務器上開發的,並且在異地(可能在Apache服務器上)託管。該網站創建於WAMP服務器的根目錄(C:\ wamp \ www)。我現在試圖將內部開發站點移到Windows Home Server v1框(本質上是運行IIS 6的Server 2003機器)。我試圖沒有兩個不同版本的站點:一個用於內部(在IIS上),另一個用於異地站點(在Apache上)。IIS虛擬目錄的家庭不同於Apache

在WHS機,我有位於虛擬目錄<sitename>

Localhost/<sitename> 

在從任何地方在局域網上:

c:/inetpub/<sitename> 

我可以訪問它的服務器上

<ServerName>/<sitename> 

當我最初編寫網站時,我幾乎每個人都使用../聲明文件, 路徑,目錄和PHP包含文件。這在WAMP服務器和 非現場主機上正常工作。但是,當我將該站點移動到虛擬目錄<sitename>時,它在012服務器上的 失敗。

所有這些../引用指向服務器根目錄:

<ServerName>/

,而不是網站主頁:

<ServerName>/<sitename> 

據推測,我可以在網站移動到 '根' 目錄:c:/ inetpub/wwwroot,但是 Windows Home Server將此用於其他內容。

我可以將每個參考文獻從../更改爲../<sitename>/,但這意味着需要維護不同的網站,一個用於內部,一個用於非現場。

所以,我的問題是...

  1. 有什麼辦法來聲明虛擬目錄c:/inetpub/<sitename> 是這種單一網站的主頁或根目錄?在IIS中是否存在配置 ,將爲此虛擬目錄執行此操作,並且不會打亂託管在此服務器上的其他 站點?

如果不是;

  1. 有人點我到一些其他的方式重寫網站上以 有它同時運行 Apache和IIS 6,無/最小 改建爲兩個不同的服務器?

我一直在尋找這一個多星期。我發現的所有解決方案都是特定於Apache或IIS的,但不適用於這兩種解決方案。

謝謝!

回答

0

好吧,這裏是一個-possible-答案...

我改爲每../到PHP包括聲明,呼籲文件我命名SiteBase.txt

在IIS服務器上,SiteBase.txt包含一行:http://<ServerName>/<sitename>/

在WAMP的服務器,SiteBase.txt由一個單一的線:../

這樣,我只需要改變這個文件的時候,我從我的開發服務器移動到網站到生產服務器。有點蠻力,但它似乎工作。

有沒有人看到這個問題?

謝謝!