zf框架框架除了首页外其他action都不能访问,请诸位高手帮忙,很急!

nijat910 2013-04-11 11:58:54
如题,因公司要求,要用php zend framework框架。我是初次接触zf框架。
我用了xampp1.8 配置了环境,用了zend studio for eclips 开发工具
我建了一个新项目,配置了虚拟目录如下:
hosts文件
127.0.0.1 yt.local
127.0.0.1 www.yt.local

httpd-vhosts.conf文件
<VirtualHost *:80>
ServerName localhost
DocumentRoot "D:\xampp\htdocs"
</VirtualHost>

<VirtualHost *:80>
ServerName yt.local
ServerAlias www.yt.local
DocumentRoot "D:\xampp\htdocs\testagain\public"
</VirtualHost>
一下是项目目录结构


indexcontroller.php
<?php
namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
//use Zend\Crypt\PublicKey\Rsa\PublicKey;
//use Zend\View\Model\ViewModel;

class IndexController extends AbstractActionController
{
public function indexAction()
{
echo "hello php ?";
}

public function AddAction()
{
echo "Add list here !";
}
}
?>
问题是不能访问Add.phtml这个页面。只能访问http://yt.local这个页面,其他的都不能。 琢磨了好几天都没能解决。请各位高手帮帮忙吧。感谢万分!
在线等待高手出现!
...全文
327 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nijat910 2013-05-16
  • 打赏
  • 举报
回复
引用 10 楼 qhdtc 的回复:
你用的xampp环境,应该是在windows下吧? 你试试这样访问:http://yt.local/index.php/add
可以这样访问,但是我不知道是什么原因?请大侠指教。
栺間沙 2013-05-11
  • 打赏
  • 举报
回复
补充说明下吧 controller中的action名字是 addAction 视图层view中对应的就只能是add.html 如果视图层是user-add.html 那么控制器中的Action 就应该写成userAddAction.这是ZF中的书写规则。Action的第一个字母不能大写。
栺間沙 2013-05-11
  • 打赏
  • 举报
回复
zf控制器里面的方法(action)书写规则 第一个字母不能大写
大窝瓜 2013-04-24
  • 打赏
  • 举报
回复
你用的xampp环境,应该是在windows下吧? 你试试这样访问:http://yt.local/index.php/add
nijat910 2013-04-19
  • 打赏
  • 举报
回复
引用 8 楼 helloyou0 的回复:
文档里的.htaccess抄过去了吗?
是抄过去了。还是不行。现在只能访问indexAction,其他的action都不行。郁闷死了。
helloyou0 2013-04-17
  • 打赏
  • 举报
回复
文档里的.htaccess抄过去了吗?
xuzuning 2013-04-16
  • 打赏
  • 举报
回复
是的,没用过 zend frameword 不过有几点需要注意: 1、你访问的是 http://yt.local/xxxx,即 public 目录下的 index.php 文件 网站所有的功能都是由这个 index.php 路由的 2、所有的框架都是以入口文件为基准向下查找嵌入文件的(除非你特别指定)
nijat910 2013-04-16
  • 打赏
  • 举报
回复
救命啊! zend frameword 难道就没人会的吗?
lw6288656 2013-04-16
  • 打赏
  • 举报
回复
看错误日志,肯定你哪里写错了。要么就是配置的问题
bing15 2013-04-16
  • 打赏
  • 举报
回复
建议还是在代码中去检查下吧,知道了zf的原理,检查下去也不难。
nijat910 2013-04-12
  • 打赏
  • 举报
回复
引用 1 楼 A82168506 的回复:
打开Apache的配置文件httpd.conf确保你已经开启如下模块: LoadModule rewrite_module modules/mod_rewrite.so 继续查找httpd.conf文件,如果AllowOverride为None的话,请一定把None都改成all
都改了,总共有三个地方,全都该了。还是一样。
只要开心就好 2013-04-12
  • 打赏
  • 举报
回复
打开Apache的配置文件httpd.conf确保你已经开启如下模块: LoadModule rewrite_module modules/mod_rewrite.so 继续查找httpd.conf文件,如果AllowOverride为None的话,请一定把None都改成all
nijat910 2013-04-12
  • 打赏
  • 举报
回复
难道就没人回答吗?

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧