为PHP制定两个VirtualHost

打开Apache安装目录下面conf/httpd.conf。在LoadModule语句块部分,解除LoadModule rewrite_module modules/mod_rewrite.so的注释,因为CakePHP必须要Rewrite模块才能正常工作。然后在后面追加下面的部分:
# For PHP 5 do something like this:
LoadModule php5_module "C:/php-5.2.3/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php-5.2.3/"
上面的意思大家都知道,是让Apache加载PHP的模块,并注册PHP扩展名。
然后在下面的语句:
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
追加一条AddOutputFilterByType INCLUDES text/html(注意上面两条语句的注释不要去掉)。这样做的目的是进行Server Side Include(SSI)。也许SSI并不常用,但是现在打开了并没有什么坏处。
然后在httpd.conf的末尾加一句Include conf/VirtualHost.conf。我这么做的目的是为了方便Virtual Host的配置,可以配置多个域名(本机上)。
然后再conf目录下建立一个VirtualHost.conf的文件,写入如下的内容:
NameVirtualHost *:80
  DocumentRoot "C:\Apache2.2\htdocs"
  ServerName localhost
  
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
  

  DocumentRoot "E:\workspace\cakephp"
  ServerName www.cakephp.com
  
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
  
第一行是NameVirtualHost *:80是关键。上面我配置了两个VirtualHost,一个是localhost,另一个是指向刚才解压缩的CakePHP的包(当然我是配置了Eclipse的工程才会有那样的目录结构)。然后修改C:\windows\system32\drivers\etc文件夹下的hosts文件,加入下面的文字。
127.0.0.1 localhost
127.0.0.1 www.cakephp.com
然后重新启动Apache。如果你的配置文件没有写错的话,你就可以在浏览器中输入www.cakephp.com(这是我刚才配置的Virtual Host的Server Name,可不是真正的万维网的有效地址),一切正常的情况下,你就会看到这个页面了。

原文地址:https://www.cnblogs.com/derrck/p/1454231.html