本地主机文件和对 REST 服务器的引用

Localhost files and references to REST server

我有一个网站设置为 test/debug 在也运行 ServiceStack 的远程服务器上。我正在转换我的工作流程以允许我在本地进行测试。我已经让我的虚拟主机正常工作并正确指向我的文件,但如果不更改代码中对 ServiceStack 的所有引用,我将无法访问数据。

这是初始远程设置:http://testserver/ 是网络服务器,目录 /svc/ 是 ServiceStack。所以当我需要数据时,我基本上调用 $.ajax('/svc/servicename') 来取回 JSON 数据。

显然,在本地这行不通,因为没有 /svc/ 目录,也没有 ServiceStack。有没有办法设置另一个虚拟主机,或者一个 sym link,或者另一个选项,以便 /svc/ 目录(本地)可以指向 http://testserver/svc/ 来接收数据?我已经解决了跨域问题,所以我不必担心。

基本上,我尽量保持本地文件不变,所以当我将它们移动到实时服务器时,一切正常。我不想将“/svs/servicename”的所有引用更改为“http://testserver/svc/servicename”,然后在我需要发布时再返回。

非常感谢任何帮助!

编辑: 我已经尝试在 httpd-vhosts.conf 中添加一个 RedirectMatch,它似乎在进行重定向,但我在 ajax 调用中遇到错误,状态为“302 Found”。我在本地主机站点的虚拟主机定义中有这个:

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

我能够在不更改源文件中的任何内容的情况下让它工作。所有这些都在 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 web@localtest.com
    ProxyPass "/svc" "http://testserver/svc"     <------- this line!
</VirtualHost>