Я создаю такой файл example.ini
:
hhvm.server.type = proxygen
hhvm.server.default_document = index.php
hhvm.virtual_host[default][rewrite_rules][common][pattern] = "(.*)"hhvm.virtual_host[default][rewrite_rules][common][to] = "index.php/$1"hhvm.virtual_host[default][rewrite_rules][common][qsa] = true
И звонит в терминал:
$ hhvm -m server -p 9000 -d hhvm.server.source_root=/home/user/project -c example.ini
Это работает нормально, однако я все еще могу просматривать существующие файлы, которые находятся в той же папке, что и проект, но мне бы хотелось, чтобы все запросы отправлялись «Index.php», как я могу это сделать?
Если вы хотите, чтобы 100% всех запросов проходили через правила переписывания, добавьте это:
hhvm.virtual_host[default][check_existence_before_rewrite]= false
Однако, если вы не создаете API или что-то со 100% динамическим контентом, избегайте этого. Статический контент, такой как текст, html-файлы, изображения и т. Д., Должен быть разрешен без необходимости обработки в вашем PHP-коде.
Я бы рекомендовал хранить все конфиденциальные файлы и код (кроме вашего index.php) вне вашего веб-корня. Поместите только статические файлы, как в эту папку, и, конечно, ваш index.php, не размещайте здесь другой код.
Других решений пока нет …