2009-11-11 60 views
1

我不知道如何搜索這一個,也許Serverfault會更好,但我會從這裏開始。欺騙IIS 6.0 html網站,認爲它在根

我有一個運行在我的一個web服務器根目錄的HTML網站。它運行良好,漂亮。我需要爲它創建一個測試環境,並且我無法在websever的根目錄中運行它。我必須在測試服務器上創建一個目錄。例如:

http://myTestserver/HtmlWebsite/index.html代替http://myProdserver/index.html

一旦我扔到目錄,最一切休息。一些圖片不會加載,javascript文件無法找到,羣發歇斯底里!

我發現該網站的作者在所有文件中都使用了絕對和相對目錄路徑的混合,因此爲什麼一些圖片加載正確。

我可以進入並編輯所有相關文件。但我想知道如果我能讓IIS 6.0認爲它所在的web app目錄是web服務器的根目錄。所以,如果我在HTML一樣有絕對路徑:

<img src="/_support/loadme.jpg" /> 

它會給我的圖像或者http://myTestserver/HtmlWebsite/_support/loadme.jpghttp://myProdserver/_support/loadme.jpg

我可以得到IIS 6.0執行我的出價還是我堅持編輯路徑?

回答

0

不幸的是,您必須修復整個網站的絕對網址,或者在網站的根目錄下運行該網站。

有沒有辦法可以得到在IIS6測試服務器上創建的新網站?

+0

我有一臺測試服務器。我想可以使用不同的端口在服務器上創建一個新的網站? – KeithA 2009-12-02 16:05:35

+0

這會工作,但爲什麼不只是爲新站點主機標題? – Kev 2009-12-02 16:52:00

0

您應該能夠通過URL重寫

首先您要安裝ISAPI重寫,發現這裏:http://www.helicontech.com/isapi_rewrite/

然後創建具有以下規則配置:

RewriteEngine on  
RewriteRule (.+) /HtmlWebsite$1 

它所請問你的請求是/index.html,然後在內部重寫爲/HtmlWebsite/index.html,這是(諷刺地)欺騙你認爲你是從根目錄調用,實際上它是從子目錄中獲取的。

如果您的測試服務器上有更多內容,則可能需要添加或更改規則,但這是它的要點。

+0

這是一個有趣的工具。將不得不記住這一點。但是我想我只需要創建另一個網站並使用另一個端口在同一臺服務器上訪問它。 – KeithA 2009-12-02 16:08:34