zend范例失败,谁能指点一二?

ycnxz 2009-04-03 01:41:21
在csdn下载了 Zend Framework 入门教程(简体中文版).pdf ,然后一步一步照着上面做。

整个范例的目录结构如下:(我靠,不能上传发图,得向管理员申请!?,目录打错字母不要怪啊)
zf-tutorial
----application
--------controllers
--------models
--------views
------------scripts
----------------index
----library
--------zend
----public
--------css
--------images
--------js

然后主要的几个文件如下:
D:\Apache2.2\htdocs\zf-tutorial\public\.htaccess

# Zend Framework rewrite规则
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
# 安全性考虑:不允许列表目录内容
Options -Indexes
# PHP设置
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag short_open_tag on


D:\Apache2.2\htdocs\zf-tutorial\public\index.php

<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
date_default_timezone_set('Europe/London');
// 目录设置和类装载
set_include_path('.' . PATH_SEPARATOR . '../library/'
. PATH_SEPARATOR . '../application/models'
. PATH_SEPARATOR . get_include_path());
include "Zend/Loader.php";
Zend_Loader::registerAutoload();
// 设置控制器
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setControllerDirectory('../application/controllers');
// run!
$frontController->dispatch();


D:\Apache2.2\htdocs\zf-tutorial\application\controllers\IndexController.php

<?php
class IndexController extends Zend_Controller_Action
{
function indexAction()
{
$this->view->title ='My123 Album';
}
function addAction()
{
$this->view->title ='Add Album';
}
function editAction()
{
$this->view->title ='Edit Album';
}
function deleteAction()
{
$this->view->title ='Delete Album';
}
}


D:\Apache2.2\htdocs\zf-tutorial\application\views\scripts\index\index.phtml

<html>
<head>
<title><?php echo $this->escape($this->title);?></title>
</head>
<body>
<h1><?php echo $this->escape($this->title);?></h1>
</body>
</html>


D:\Apache2.2\htdocs\zf-tutorial\application\views\scripts\index\add.phtml

<html>
<head>
<title><?php echo $this->escape($this->title);?></title>
</head>
<body>
<h1><?php echo $this->escape($this->title);?></h1>
</body>
</html>



范例文档上说 现在
访问 http://localhost/zf-tutorial/public/ 就是访问 index.phtml
访问http://localhost/zf-tutorial/public/index/add 就是访问add.phtml
问题是
现在访问 http://localhost/zf-tutorial/public/ 是可以看到 index.phtml
但是访问 http://localhost/zf-tutorial/public/index/add 浏览器却说
Not Found

The requested URL /zf-tutorial/public/index/add was not found on this server.

究竟是怎么回事,是IndexController.php哪里写错了 还是怎样?
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Formular1 2009-04-03
  • 打赏
  • 举报
回复
zend的不同版本之间差别也不小。
海诗美妆 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ycnxz 的回复:]
问题解决了

我犯了两个错误
1.AllowOverride All  之后忘记重启apache
2.根本没有做 LoadModule rewrite_module modules/mod_rewrite.so
这一步 ,教材里也没写

所以我以为iAllowOverride All  就是 配置了mod_rewrite 扩展


[/Quote]
其实访问一下http://localhost/zf-tutorial/public/index就应该明白问题所在了.

不过,ZF得文档的质量的确一般
ycnxz 2009-04-03
  • 打赏
  • 举报
回复
问题解决了

我犯了两个错误
1.AllowOverride All 之后忘记重启apache
2.根本没有做 LoadModule rewrite_module modules/mod_rewrite.so
这一步 ,教材里也没写

所以我以为iAllowOverride All 就是 配置了mod_rewrite 扩展

syu 2009-04-03
  • 打赏
  • 举报
回复
rewrite未生效.检查是否有rewrite的权限.
GHOSTSEA 2009-04-03
  • 打赏
  • 举报
回复
学习中,帮顶
Siramizu 2009-04-03
  • 打赏
  • 举报
回复
用.htaccess需要AllowOverride的

4,250

社区成员

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

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