2011-02-16 51 views
0

我已经安装了Zend服务器和开发一个示例应用程序,并IAM惊讶,当我的应用程序的URL能够在浏览器无法打开......困惑与Zend服务器配置

这是我的网址,关系到我的Zend的应用程序:

的http://本地主机/ APP_NAME /公/控制器/动作/参数

我像一个错误:“请求的URL /APP_NAME /公/控制器/动作/参数没有被发现在这台服务器上“。

当我从here阅读快速入门指南时,我得知我必须在Apache目录的httpd.conf文件中定义一个VirtualHost指令。

但出乎我的意料,我发现下面的行已经存在在我的httpd.conf文件:

DocumentRoot "C:\zend\Apache2/htdocs" 

<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
    Order deny,allow 
    Deny from all 
</Directory> 

无法明白该怎么办...

回答

1

明白了...在在上面链接的快速入门指南中提到的VirtualHost定义,DocumentRoot和Directory被配置为快速启动应用程序,并且如果文档根目录仅在默认情况下(直到应用程序名称/公共)才被提及,直到“htdocs”,则zend格式url不起作用。

由于我在我的htdoc中有许多zend应用程序,因此我必须将DocumentRoot和Directory的路径设置为“htdocs”本身,因为它将在每个应用程序中有所不同。所以我在我的httpd.conf文件中添加了以下几行代码,以使我的应用程序url可以工作。现在我可以在不修改httpd.conf文件的情况下运行任何zend应用程序。

(我也不得不告诉给客户端在他的httpd.conf文件中添加这些线测试的应用程序:)

<VirtualHost *:80> 
<Directory C:\zend\Apache2\htdocs\> 
AllowOverride All 
Allow from all 
</Directory> 
</VirtualHost> 

希望它可以帮助别人。

4

首先,您的文档根目录是错误的。您同时使用正向和反向斜杠,并且访问本地主机会将您带到htdocs而不是虚拟主机。

请按照下列步骤来创建一个虚拟主机或与这些

  1. 检查您的设定,以创建一个虚拟主机
<VirtualHost *:80> 
    ServerName cert.local 
    DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cert/public" 
    <Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cert/public"> 
     DirectoryIndex index.php 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 
  1. 注册与您的操作系统(对于windows)

    转到c:\ WINDOWS \ system32 \ drivers \ etc并添加以下行:

    127.0.0.1 cert。当地

  2. 重新启动Apache服务器,为了访问虚拟主机去http://cert.local/

如果你想在同一时间访问的htdocs和Zend那么你必须创建另一个虚拟主机指点到htdocs。

下面是一些基本的关于虚拟主机

http://httpd.apache.org/docs/2.2/vhosts/

希望这将有助于.. :)