zf框架框架除了首页外其他action都不能访问,请诸位高手帮忙,很急!
我用了xampp1.8 配置了环境,用了zend studio for eclips 开发工具
我建了一个新项目,配置了虚拟目录如下:
hosts文件
127.0.0.1 yt.local
127.0.0.1 www.yt.local
httpd-vhosts.conf文件
ServerName localhost
DocumentRoot "D:\xampp\htdocs"
ServerName yt.local
ServerAlias www.yt.local
DocumentRoot "D:\xampp\htdocs\testagain\public"
一下是项目目录结构
indexcontroller.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这个页面,其他的都不能。 琢磨了好几天都没能解决。请各位高手帮帮忙吧。感谢万分!
在线等待高手出现!
回复讨论(解决方案)
打开Apache的配置文件httpd.conf确保你已经开启如下模块:
LoadModule rewrite_module modules/mod_rewrite.so
继续查找httpd.conf文件,如果AllowOverride为None的话,请一定把None都改成all
打开Apache的配置文件httpd.conf确保你已经开启如下模块:
LoadModule rewrite_module modules/mod_rewrite.so
继续查找httpd.conf文件,如果AllowOverride为None的话,请一定把None都改成all
都改了,总共有三个地方,全都该了。还是一样。
难道就没人回答吗?
救命啊! zend frameword 难道就没人会的吗?
是的,没用过 zend frameword
不过有几点需要注意:
1、你访问的是 http://yt.local/xxxx,即 public 目录下的 index.php 文件
网站所有的功能都是由这个 index.php 路由的
2、所有的框架都是以入口文件为基准向下查找嵌入文件的(除非你特别指定)
建议还是在代码中去检查下吧,知道了zf的原理,检查下去也不难。
看错误日志,肯定你哪里写错了。要么就是配置的问题
文档里的.htaccess抄过去了吗?
文档里的.htaccess抄过去了吗?
是抄过去了。还是不行。现在只能访问indexAction,其他的action都不行。郁闷死了。
你用的xampp环境,应该是在windows下吧?
你试试这样访问:http://yt.local/index.php/add
zf控制器里面的方法(action)书写规则 第一个字母不能大写
补充说明下吧 controller中的action名字是 addAction 视图层view中对应的就只能是add.html
如果视图层是user-add.html 那么控制器中的Action 就应该写成userAddAction.这是ZF中的书写规则。Action的第一个字母不能大写。
你用的xampp环境,应该是在windows下吧?
你试试这样访问:http://yt.local/index.php/add
可以这样访问,但是我不知道是什么原因?请大侠指教。