我已经安装了Zend服务器并开发了一个示例应用程序,当我的应用程序URL无法在浏览器中打开时iam感到很惊讶......
这是我的网址,与我的应用程序相关:
的http://本地主机/ APP_NAME /公共/控制器/动作/参数
我收到如下错误:“在此服务器上找不到请求的网址 / app_name / public / controller / action / parameter ”。
当我从here读取快速入门指南时,我了解到我必须在Apache目录的httpd.conf文件中定义一个VirtualHost指令。
但令我惊讶的是,我在httpd.conf文件中找到了以下行:
DocumentRoot "C:\zend\Apache2/htdocs"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
无法理解该怎么做......
答案 0 :(得分:4)
首先,您的文档根目录错误。您同时使用正斜杠和反斜杠,访问localhost会将您带到htdoc而不是虚拟主机。
请按照以下步骤创建虚拟主机或使用这些
检查您的设置<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>
注册您的操作系统(适用于Windows)
转到c:\ WINDOWS \ system32 \ drivers \ etc并添加以下行
127.0.0.1 cert.local
重启Apache服务器并访问虚拟主机转至http://cert.local/
如果你想同时访问htdocs和zend,那么你必须创建另一个指向htdocs的虚拟主机。
以下是虚拟主机的基本知识
http://httpd.apache.org/docs/2.2/vhosts/
希望这会有所帮助.. :)
答案 1 :(得分:1)
得到它...在上面链接的快速入门指南中提到的VirtualHost定义中,DocumentRoot和目录被配置到快速入门应用程序,如果文档根目录只被提到默认情况下“htdocs”(不是直到应用程序名称/公共),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>
希望它有所帮助。