Apache htaccess переписать на HHVM

Я хочу, чтобы виртуальная машина Hip Hop запускала php-код только для одного конкретного веб-сайта. Все остальные веб-сайты и изображения по-прежнему будут обслуживаться Apache. Я установил HHVM, и он работает на порту 88.

Думаю, мне нужно добавить правило перезаписи в .htaccess этого веб-сайта, чтобы перенаправлять запросы на файлы .php на порт 88. Это правильное решение? Если да, то что мне добавить?


person RouteXL    schedule 16.09.2013    source источник


Ответы (2)


Я нашел решение, установив исходный корень на конкретный веб-сайт, основанный на структуре 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
      }
    }
  }
}
person RouteXL    schedule 25.09.2013

Вместо этого вы, вероятно, захотите использовать обратный прокси. Если у вас есть доступ к файлам конфигурации vhost/server, вы можете добавить такие строки:

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

Или, если у вас включен mod_proxy, вы можете сделать это в файле htaccess, используя флаг P:

RewriteRule ^(.*)\.php$ http://127.0.0.1:88/$1.php [L,P]
ProxyPassReverse / http://127.0.0.1:88/
person Jon Lin    schedule 16.09.2013