【问题标题】:Internal redirect to another virtual host with mod_rewrite (or similar)使用 mod_rewrite (或类似的)内部重定向到另一个虚拟主机
【发布时间】:2011-12-31 18:29:39
【问题描述】:

我正在尝试让 site.com/api 在内部 重定向到 api.site.com。 Site.com 的 .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^api/(.*)$ http://api.site.com/$1 [P,QSA,L]
</IfModule>

我已经安装了 mod_proxy 和 mod_rewrite。我究竟做错了什么?这甚至可能吗?

编辑:site.com 和 api.site.com 在同一台服务器上。我希望尽可能有效地进行重定向。如果有一种方法可以通过 mod_rewrite 将某个路径中的请求直接传递给文件,即 /srv/www/api.site.com/index.php,那也一样好。

这样做的目的是要有两个独立的实体,但要规避 javascript 的跨域策略。有一个代表不是一种选择,我希望有直接的沟通。 JSONP 不是一个选项。

【问题讨论】:

    标签: apache mod-rewrite virtualhost


    【解决方案1】:

    通过 url 重写解决了这个问题。

    RewriteRule ^api/(.*)$ /library/api.php/$1 [QSA,L]
    

    /library/api.php 直接在 /srv/www/api.site.com/index.php 中包含索引脚本。它必须重写 $_SERVER 中的一些参数,但是由于 api.site.com 的 index.php 是单例的,这已经超出了我的目的。

    【讨论】:

      猜你喜欢
      • 2010-10-07
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 2012-03-29
      • 2010-09-05
      相关资源
      最近更新 更多