如何将Web服务重定向到另一个域上的另一个Web服务?

时间:2017-02-23 01:44:56

标签: php .htaccess web-services url-redirection http-redirect

我在VPS A上有一个Web服务,今天用完了硬盘驱动器,因为我无法增加硬盘驱动器,所以我将Web服务移到VPS B,现在问题是Web服务URL在应用程序中是静态的应用程序主机说我们现在无法更新您的应用程序,您必须等待2天!我有大约10万用户,2天的时间对我所有的努力都意味着死亡。

我想到的唯一一件事就是以某种方式重定向网址,我采用了唯一可行的方法,因此我尝试了这两套重写规则:

RewriteCond %{HTTP_HOST} ^11\.11\.11\.11\$
RewriteRule (.*) mynewdomain.com/v1/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^11\.11\.11\.11$ [NC,OR]
RewriteCond %{HTTP_HOST} ^([a-z.]+)?11\.11\.11\.11$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ www.mynewdomain.com/v1/$1 [R=301,L]

我尝试了在Chrome上发生的事情,它可以运行,但Chrome和防火墙一直给我带来安全性错误,但在应用程序或REST测试应用程序(如邮递员)上它将无法正常工作。

所以似乎访问不适用于此。

更新:我使用PHP Slim作为服务器代码(Apache,PHP 7)。

UPDATE2: 我将我的HTaccess设置为将所有请求重定向到index.php 和我的index.php

$uri=str_replace('/' . '/', '/', $_SERVER['REQUEST_URI']);
$url="http://www.mynewdomain.com/v1".$uri;
curl_setopt($ch, CURLOPT_URL, $url);
if ($_SERVER['REQUEST_METHOD'] === 'POST') 
{
curl_setopt($ch, CURLOPT_POST, 1);
$con = file_get_contents("php://input");
curl_setopt($ch, CURLOPT_POSTFIELDS,$con);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
echo $server_output;

我还没有完全测试过,你怎么看待这种方法?它会起作用(只需要它最多工作1或2天)

0 个答案:

没有答案