0

我已经安装了 Zend 服务器并开发了一个示例应用程序,当我的应用程序 url 无法在浏览器中打开时,我感到很惊讶......

这是我的 url,与我的 zend 应用程序相关:

http://localhost/app_name/public/controller/action/parameter

我收到如下错误:“在此服务器上找不到请求的 URL /app_name/public/controller/action/parameter ”。

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

但令我惊讶的是,我发现我的 httpd.conf 文件中已经存在以下几行:

DocumentRoot "C:\zend\Apache2/htdocs"

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

无法理解该怎么做...

4

2 回答 2

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 证书本地

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

如果您想同时访问 htdocs 和 zend,那么您必须创建另一个指向 htdocs 的虚拟主机。

这是有关虚拟主机的一些基本知识

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

希望这会有所帮助.. :)

于 2013-04-10T03:23:57.620 回答
1

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

由于我的 htdocs 中有许多 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>

希望它可以帮助某人。

于 2011-02-16T10:25:07.420 回答