Zf Controller层的问题解决
看了近两天的zf的手册,尝试做点东西,没想到卡到了Controller层上,郁闷无助。
问题现象:
按照zf的要求写好代码,却发现无法用默认的route机制访问。明明写了localhost/index/index,却显示找不到页面。但是如果直接写localhost却一切正常。
解决问题吧?zf的手册再也找不到啥东西了,索性看源代码。源代码都理解了,还是找不到问题,我靠!
没办法,求助Google吧,找到一片tutorail,of zf的,一看才知道,原来是apache的原因。
由于zf的Controller要用到apache的rewrite模块,目的是把所有的对网站的访问都重定向到index.php页面中,也就是所谓的bootStraper。这个功能要通过放置.htaccess文件。我一直以为仅仅需要在httpd.conf中将相关的module前的注释去掉就可以了,所以才郁闷了半天。原来还需要将AllowOverride字段的None(默认值)改成All。仔细看看对该字段的解释吧:
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
真想骂街啊,怎么早没仔细看看呢。。。。。。。
赶紧写下来吧,以便那位兄弟碰到类似的问题搜索Google。
顺便推荐一个有用的tutorail,里面就有这些信息:
http://akrabat.com/2007/03/05/zend-framework-tutorial-for-zf-v08/
没有评论:
发表评论