我有一个网站设置为在运行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"
答案 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>