这是我在我们PHPEye的
Group上贴的,突然想到可能对大家有用就转过来了呵呵。
如果你的机子上已经有很多PHP项目,像我这样,绝大部份是不是基于ZF的。 我通常在WEB根目录下建立几十个目录,每个目录分别对应一个项目。原来我们访问项目可能是通过 http://localhost/project1, http://localhost/project2这样进行访问。通常来说项目间不会互相影响,因为我们的程序一般不严格要求文件的路径。只要相对路径对就行了。
但是现在我们需要安装ZF,ZF要求index.php位于站点的根目录下。那么怎么使原来的程序仍然可以正常访问,而基于ZF的程序我们也可以访问?比如我建了个项目是happycms,那么我希望输入 http://happycms就可以访问我的基于ZF的happycms项目,而其它项目仍然通过 http://localhost/project1这样访问。
我的作法:
1。编辑C:/WINDOWS/system32/drivers/etc目录下的hosts文件
在
127.0.0.1 localhost
下面加入:
127.0.0.1 happycms
2。编辑C:/Program Files/Apache
Group/Apache2/conf目录下的httpd.conf
加入 NameVirtualHost 127.0.0.1
在文件最末尾加上:
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot I:/Projects
RewriteEngine Off
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName happycms
DocumentRoot I:/Projects/happycms/svn/trunk/src/www
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*(/.css|/.js|/.gif|/.png|/.jpg|/.jpeg)$
RewriteRule ^(/.*)$ /index.php
</VirtualHost>
这样就完成了。 这样无论是否基于ZF的项目都可以共存,不互相影响。
如果你的机子上已经有很多PHP项目,像我这样,绝大部份是不是基于ZF的。 我通常在WEB根目录下建立几十个目录,每个目录分别对应一个项目。原来我们访问项目可能是通过 http://localhost/project1, http://localhost/project2这样进行访问。通常来说项目间不会互相影响,因为我们的程序一般不严格要求文件的路径。只要相对路径对就行了。
但是现在我们需要安装ZF,ZF要求index.php位于站点的根目录下。那么怎么使原来的程序仍然可以正常访问,而基于ZF的程序我们也可以访问?比如我建了个项目是happycms,那么我希望输入 http://happycms就可以访问我的基于ZF的happycms项目,而其它项目仍然通过 http://localhost/project1这样访问。
我的作法:
1。编辑C:/WINDOWS/system32/drivers/etc目录下的hosts文件
在
127.0.0.1 localhost
下面加入:
127.0.0.1 happycms
2。编辑C:/Program Files/Apache
Group/Apache2/conf目录下的httpd.conf
加入 NameVirtualHost 127.0.0.1
在文件最末尾加上:
<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot I:/Projects
RewriteEngine Off
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName happycms
DocumentRoot I:/Projects/happycms/svn/trunk/src/www
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*(/.css|/.js|/.gif|/.png|/.jpg|/.jpeg)$
RewriteRule ^(/.*)$ /index.php
</VirtualHost>
这样就完成了。 这样无论是否基于ZF的项目都可以共存,不互相影响。