现在的位置: 首页 > 综合 > 正文

解决其他虚拟机与Zend Framework冲突的方法

2018年05月19日 ⁄ 综合 ⁄ 共 937字 ⁄ 字号 评论关闭

如果你的机子上已经有很多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的项目都可以共存,不互相影响。

抱歉!评论已关闭.