HHVM - 重写干净URL的规则

时间:2014-02-17 06:20:37

标签: redirect drupal-7 hhvm

我有这样的链接 - http://example.com/index.php?q=about,我想让它们看起来像这样 - http://example.com/about

目前我正在使用重写规则

VirtualHost {
  * {
    Pattern = .*
    RewriteRules {
      dirindex {
        pattern = (.*)/$
        to = index.php/$1
        qsa = true
      }
    }
  }
}

如果我访问http://example.com/about,我会收到404 File Not Found

我正在为Drupal这样做。清洁网址指南:https://drupal.org/getting-started/clean-urls

1 个答案:

答案 0 :(得分:1)

可以使用VirtualHost解决此问题,但现在已弃用HHVM的服务器模块,建议您使用fastcgi over apache / nginx。我将为VirtualHost提供答案,但如果需要,可以使用nginx替代方案进行更新。

首先,确保您的SourceRoot正确无误:

Server {
  Port = 9000
  SourceRoot = /home/myuser/www
  DefaultDocument = index.php
}

现在,对于规则,这应该可行:

VirtualHost {
  * {
    Pattern = .*
    RewriteRules {
      * {
        pattern = (.*)$
        to = index.php/$1
        qsa = true
      }
    }
  }
}

如果您希望查询完全按照您的意图运行,请将内部模式替换为:

* {
pattern = /(.*)
to = index.php?q=$1
qsa = true
}

我已经对这两者进行了测试,但效果很好。如果您仍然遇到问题,则问题可能出在您的设置上。确保启用Error and Access logging