现在如果假设你的开发环境是Mac,那么一般来说,你的开发项目路径应该位于"/Library/WebServer/Documents"目录,通常这个目录也是你的Web服务器 指定的根目录,很多人在本地开发网站时,习惯于将项目文件放在Web服务器指定的根目录下,然后通过http://localhst/xxx路径来访问,这很正常,但对Zend Framework框架来说,这样的访问方式会引发问题,因为默认安装情况下,站点创建会要求在Apache或IIS里把站点根目录指到public这个目录下,Zend Framework会把URL路由到特定的public目录下的index.php文件,然后所有的URL就都交给前端控制器和分发器,结合Web服务器的Rewrite功能来进行路由。Zend Framework处理来自HTTP的请求有自己的一套规则,采用http://localhost/xxx/public 这样的路径,将使得前端控制器不能正确识别URL,从而引起访问出错,所以我们需要用类似http://mydomainname.com 这样的正式域名来访问站点。
劫持一个域名
你可以通过http://localhost 或http://127.0.0.1 或你的本机IP来访问本机的网站根目录,但由于前面已讲过的Zend Framework的路由规则问题,我们需要配置一个虚拟主机,用一个正式的域名指向public目录。稍后介绍虚拟主机的配置,让我们先劫持一个域名blue.com来用。
更改本机的hosts文件,将blue.com访问指向127.0.0.1。
打开/etc/hosts文件,添加以下一行代码到文件末尾:
- 127.0.0.1 blue.com
- <VirtualHost 127.0.0.1:80>
- ServerName blue.com
- DocumentRoot "/var/www/kehuanedu/public"
- ErrorLog "/var/log/apache2/kehuanedu_errors.log"
- CustomLog "/var/log/apache2/kehuanedu_accesses.log" common
- </VirtualHost>
然后保存并退出vi编辑器。这样就单独为kehuanedu配置了一个虚拟主机文件,其中后两行定义了日志文件,当Apache运行中出现意外状况时,可以通过查看日志查找原因。如果不需要,可以省略。