PHP - .htaccess重写外部服务器连接

时间:2016-03-16 15:37:47

标签: php .htaccess cors

我有多台服务器和一台托管我的API的主服务器。

[服务器1]< ---> [API服务器]
[服务器2]< ---> [API服务器]

我实际上在向API服务器发送curl请求时遇到了一些困难,并且不确定它是否可能来自外部服务器。我读了一篇关于使用重定向的文章,所以服务器就像它的内部(CORS)。

所需的URL是(API文件所在的位置):

$this->url = "http://www.example.com/API/RequestsDJ/API/RequestsHandler.php";

但是,我正在努力编写.htaccess文件,到目前为止我已经:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule API/RequestsDJ/(.*)$ API/RequestsDJ/API/RequestsHandler.php [QSA,NC,L]
</IfModule>

这里的想法是将URL转换为:

$this->url = "http://www.example.com/API/RequestsDJ";

然后,通过CORS方法,将其重定向为内部请求,然后运行:API/RequestsDJ/API/RequestsHandler.php文件中的函数。 (我不确定这是否会带有POST数据但是现在,它仅用于测试)。

有人能帮我一把吗?在此先感谢,我吮吸.htaccess文件(API不支持任何GET请求,因此不需要任何?example=。)

1 个答案:

答案 0 :(得分:1)

我认为你必须改变RewriteRule的rexep规则:

RewriteRule API/RequestsDJ/(.*)$ API/RequestsDJ/API/RequestsHandler.php [QSA,NC,L]

对此:

 RewriteRule ^API/RequestsDJ/(.*)$ API/RequestsDJ/API/RequestsHandler.php [QSA,NC,L]

在使用POST时获取所有参数时,您可能不需要QSA flag。查询参数不是必需的。