老葛的Drupal培训班 http://www.thinkindrupal.com
当Drupal收到一个请求时都发生了什么呢?如果对此能有一个概括性的了解,那么对以后的学习将会很有帮助,所以本部分将对这一框架提供一个简要的介绍。如果你自己也想追踪一下的话,使用一个好的调试器,从index.php开始就可以了,Drupal的大多数请求都从这里开始。对于一个简单web页面,这里所列的序列看起来有些复杂,但这也是灵活性所必需的。
Web服务器的角色
Drupal运行在web服务器上,通常是Apache上。如果web服务器识别Drupal的.htaccess文件,那么将初始化一些PHP设置,并启用简洁URL。基本上对Drupal的所有调用都是从index.php开始的。例如,调用
http://example.com/foo/bar,将会经历以下步骤:
1.首先,基于Drupal的.htaccess文件中的mod_rewrite规则,对输入URL进行检查,并将基路径从路径中分离出去。在我们的例子中,路经就为foo/bar。
2.将这个路径指定给URL查询参数q。
4.Drupal把foo/bar作为Drupal内部路径,并在index.php中开始进行处理。
在备选的web服务器中,比如微软的IIS,可以使用一个ISAPI模块比如ISAPI_Rewrite来实现简洁URL。IIS 7及以后的版本可能会内置对重写的支持。