1

我希望 Hip Hop 虚拟机仅为一个特定网站运行 php 代码。所有其他网站和图像仍将由 Apache 提供。我已经安装了 HHVM,它在 88 端口上运行。

我想我需要在该网站的 .htaccess 中添加一个重写规则,以将对 .php 文件的请求重定向到端口 88。这是正确的解决方案吗?如果是这样,我应该添加什么?

4

2 回答 2

3

我通过将 sourceroot 设置为基于 SLIM/PHP 框架的特定网站找到了解决方案。它碰巧没有提供任何图像,因此无需对其进行过滤。这是 HHVM 的配置:

Server {
  Port = 88
  SourceRoot = /var/www/<specific-folder>
  DefaultDocument = index.php
}

VirtualHost {
  www {
    Pattern = .*
    ServerVariables {
        PHP_SELF = /index.php
        SCRIPT_NAME = /index.php
    }
    RewriteRules {
      index {
        pattern = ^(.*)$
        to = index.php/$1
        qsa = true
      }
    }
  }
}
于 2013-09-25T19:32:23.407 回答
3

您可能想要反向代理。如果您有权访问 vhost/server 配置文件,则可以添加如下行:

ProxyPassMatch ^/(.*)\.php$ http://127.0.0.1:88/$1.php
ProxyPassReverse / http://127.0.0.1:88/

或者,如果您打开了 mod_proxy,您可以使用以下P标志在 htaccess 文件中执行此操作:

RewriteRule ^(.*)\.php$ http://127.0.0.1:88/$1.php [L,P]
ProxyPassReverse / http://127.0.0.1:88/
于 2013-09-16T08:52:33.557 回答