Apache 安装说明(Apache Installation Notes)
Apache 是一个流行且出名的web服务器,并且可以支持很多平台。
Apache 下配置 Phalcon(Configuring Apache for Phalcon)
以下内容是你可能在使用Apache下搭建Phalcon时可能会用到的配置。这些内容重点关注于mod_rewrite模块的配置,以便可以使用友好的链接和路由组件 router component 。通常一个应用会有以下目录结构:
- test/
- app/
- controllers/
- models/
- views/
- public/
- css/
- img/
- js/
- index.php
在主文档根目录下(Directory under the main Document Root)
这是一种最为常用的情况,应用安装在根目录下的任意一个目录。对于这种情况,我们使用两个.htaccess文件,第一个用于隐藏应用转发全部请求到对应文档根目录(public/)的相关代码。
- # test/.htaccess
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteRule ^$ public/ [L]
- RewriteRule ((?s).*) public/$1 [L]
- </IfModule>
然后第二个.htaccess位于public/下,并将全部的URI重定向到public/index.php文件。
- # test/public/.htaccess
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
- </IfModule>
如果你不想使用这些.htaccess文件,你可以将这些配置移到apache的主配置文件中:
- <IfModule mod_rewrite.c>
- <Directory "/var/www/test">
- RewriteEngine on
- RewriteRule ^$ public/ [L]
- RewriteRule ((?s).*) public/$1 [L]
- </Directory>
- <Directory "/var/www/test/public">
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
- </Directory>
- </IfModule>
虚拟主机(Virtual Hosts)
第二份配置则允许你可以将一个Phalcon应用安装在虚拟主机:
- <VirtualHost *:80>
- ServerAdmin admin@example.host
- DocumentRoot "/var/vhosts/test/public"
- DirectoryIndex index.php
- ServerName example.host
- ServerAlias www.example.host
- <Directory "/var/vhosts/test/public">
- Options All
- AllowOverride All
- Allow from all
- </Directory>
- </VirtualHost>