我创建了一个像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" ,我该怎么做?
答案 0 :(得分:1)
如果您希望100%的所有请求都通过重写规则,请添加以下内容:
hhvm.virtual_host[default][check_existence_before_rewrite]= false
但是,除非您正在构建API或具有100%动态内容的内容,否则请避免这种情况。应该允许提供静态内容,如文本,html文件,图像等,而无需在PHP代码中进行评估。
我建议将所有敏感文件和代码(index.php除外)保留在Web根目录之外。只放置像这个文件夹中的静态文件,当然还有你的index.php,不要把其他代码放在这里。