Apache 安装说明(Apache Installation Notes)

Apache 是一个流行且出名的web服务器,并且可以支持很多平台。

Apache 下配置 Phalcon(Configuring Apache for Phalcon)

以下内容是你可能在使用Apache下搭建Phalcon时可能会用到的配置。这些内容重点关注于mod_rewrite模块的配置,以便可以使用友好的链接和路由组件 router component 。通常一个应用会有以下目录结构:

  1. test/
  2. app/
  3. controllers/
  4. models/
  5. views/
  6. public/
  7. css/
  8. img/
  9. js/
  10. index.php

在主文档根目录下(Directory under the main Document Root)

这是一种最为常用的情况,应用安装在根目录下的任意一个目录。对于这种情况,我们使用两个.htaccess文件,第一个用于隐藏应用转发全部请求到对应文档根目录(public/)的相关代码。

  1. # test/.htaccess
  2.  
  3. <IfModule mod_rewrite.c>
  4. RewriteEngine on
  5. RewriteRule ^$ public/ [L]
  6. RewriteRule ((?s).*) public/$1 [L]
  7. </IfModule>

然后第二个.htaccess位于public/下,并将全部的URI重定向到public/index.php文件。

  1. # test/public/.htaccess
  2.  
  3. <IfModule mod_rewrite.c>
  4. RewriteEngine On
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteCond %{REQUEST_FILENAME} !-f
  7. RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
  8. </IfModule>

如果你不想使用这些.htaccess文件,你可以将这些配置移到apache的主配置文件中:

  1. <IfModule mod_rewrite.c>
  2.  
  3. <Directory "/var/www/test">
  4. RewriteEngine on
  5. RewriteRule ^$ public/ [L]
  6. RewriteRule ((?s).*) public/$1 [L]
  7. </Directory>
  8.  
  9. <Directory "/var/www/test/public">
  10. RewriteEngine On
  11. RewriteCond %{REQUEST_FILENAME} !-d
  12. RewriteCond %{REQUEST_FILENAME} !-f
  13. RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
  14. </Directory>
  15.  
  16. </IfModule>

虚拟主机(Virtual Hosts)

第二份配置则允许你可以将一个Phalcon应用安装在虚拟主机:

  1. <VirtualHost *:80>
  2.  
  3. ServerAdmin admin@example.host
  4. DocumentRoot "/var/vhosts/test/public"
  5. DirectoryIndex index.php
  6. ServerName example.host
  7. ServerAlias www.example.host
  8.  
  9. <Directory "/var/vhosts/test/public">
  10. Options All
  11. AllowOverride All
  12. Allow from all
  13. </Directory>
  14.  
  15. </VirtualHost>

原文: http://www.myleftstudio.com/reference/apache.html