Apache htaccess rewrite to HHVM


Apache htaccess rewrite to HHVM

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

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

您可能希望改为反向代理。如果您有权访问虚拟主机/服务器配置文件,则可以添加如下行:

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/

我通过将源代码根设置为特定网站找到了解决方案,该网站基于 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
      }
    }
  }
}