Localhost文件和对REST服务器的引用

时间:2015-10-14 17:12:41

标签: macos apache2

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

以下是初始远程设置: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"。我在我的localhost站点的虚拟主机定义中有这个:

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

1 个答案:

答案 0 :(得分: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 web@localtest.com
    ProxyPass "/svc" "http://testserver/svc"     <------- this line!
</VirtualHost>