2007年3月7日星期三

Zf Controller层的问题解决

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/

没有评论: