2015-10-14 42 views
1

我有一個網站設置爲在運行ServiceStack的遠程服務器上測試/調試。我正在轉換我的工作流程,以允許我在本地進行測試。我有我的虛擬主機工作,並正確指向我的文件,但我不能訪問數據,而不改變我的代碼中的所有對ServiceStack的引用。本地主機文件和對REST服務器的引用

以下是最初的遠程設置:http://testserver/是Web服務器,目錄/ svc /是ServiceStack。所以當我需要數據時,我基本上調用$ .ajax('/ svc/servicename')來獲取JSON數據。

顯然,本地不會工作,因爲沒有/ svc /目錄,也沒有ServiceStack。有沒有辦法設置另一個虛擬主機,sym連接或其他選項,以便/ svc /目錄(本地)可以指向http://testserver/svc/來接收數據?我通過了跨域問題,所以我不必擔心這一點。

基本上,我試圖儘可能保持本地文件不變,所以當我將它們移動到活動服務器時,一切正常。我不想將「/ svs/servicename」的所有引用更改爲「http://testserver/svc/servicename」,然後在需要發佈時再返回。

任何幫助,非常感謝!

編輯: 我試着在httpd-vhosts.conf中添加一個RedirectMatch,它似乎在做重定向,但我在我的ajax調用中遇到錯誤,並且狀態爲「302 Found」。我在我的本地主機站點的虛擬主機定義中有:

RedirectMatch "^/svc/(.*)" "http://testserver/svc/$1" 

回答

1

我能夠在不改變源文件中的任何內容的情況下工作。所有這些都在httpd-vhosts.conf文件中完成。基本上我不得不在虛擬主機定義中添加ProxyPass ...

<VirtualHost *:80> 
    ServerName localtest.com 
    ServerAlias www.localtest.com 
    DocumentRoot "/Users/ME/Site1/" 
    ErrorLog "/private/var/log/apache2/localtest.com-error_log" 
    CustomLog "/private/var/log/apache2/localtest.com-access_log" common 
    ServerAdmin [email protected] 
    ProxyPass "/svc" "http://testserver/svc"  <------- this line! 
</VirtualHost> 
相關問題