【发布时间】:2014-08-21 09:08:27
【问题描述】:
我需要苗条的 php 来使用 .htaccess 处理漂亮的 url,没问题。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
现在我使用 hhvm 运行这个,fastcgi 使用这个虚拟主机配置。
<VirtualHost *:80>
ServerName project.dev
ServerALias www.project.dev
DocumentRoot /var/www/project
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/project/$1
<Directory "/var/www/project">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
当然,它不会读取.htaccess文件,我想在虚拟主机配置中添加.htaccess配置,但是不,它不会起作用。
像这样:
<VirtualHost *:80>
ServerName project.dev
ServerALias www.project.dev
DocumentRoot /var/www/project
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/project/$1
<Directory "/var/www/project">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</VirtualHost>
【问题讨论】:
-
您是否查看了 hhvm 日志 ( /var/log/hhvm ) 以查看请求?你也可以提供吗?
-
我有,为什么你认为有必要?这只是如何在配置中重定向
index.php中的所有请求。如果在普通的 php 文件上它工作得很好,所以访问和错误日志不会记录任何与它有关的东西。 -
@JoeySalacHipolito 听起来您是在说您遇到了问题,并且您认为 HHVM 是根本原因。如果是这样,您需要做两件事来引起开发团队的注意:1) 安装 HHVM 的调试版本。请参阅github.com/facebook/hhvm/wiki/Prebuilt%20Packages%20for%20HHVM 以获取与操作系统相关的说明。 2)打开一个问题描述您的问题@github.com/facebook/hhvm/issues?state=open他们会指导您尽可能解决问题的方法。
-
如果您在这里没有得到答案,您可能会在serverfault 上获得更多运气。他们更关注服务器配置。
-
您需要将规则放在目录块中,根据 Apache:“请注意,这完全等同于将 .htaccess 文件放在包含指令的目录 /www/htdocs/example 中,并且将相同的指令放在主服务器配置中的目录部分
" Apache
标签: php apache .htaccess fastcgi hhvm