2013-04-02 111 views
0

我已经在本地主机上安装了Zend Framework(版本1.12),我有一个从IndexController访问动作的问题,但是相同的代码,相同的动作名称在其他控制器中工作得很好的TestController。IndexController retrive 404错误,但其他控制器工作正常

class IndexController extends Zend_Controller_Action { 
public function init(){/* Initialize action controller here */} 
public function indexAction(){//some code} 
public function addAction(){//some code} 
public function otherAction(){//other code} 
} 

class TestController extends Zend_Controller_Action { 
public function init(){/* Initialize action controller here */} 
public function indexAction(){//some code} 
public function addAction(){//some code} 
public function otherAction(){//other code} 
} 

当我在地址栏中键入zf.local/I recive从指数/ index.phtml文件内容,但是当我输入zf.local /指数/指数ZF告知该网址找不到。当我输入zf.local /测试/索引一切工作正常 如果我输入地址栏zf.local /索引/添加我recive 404错误,但如果我输入zf.local /测试/添加一切工作正常。

我已经将我的虚拟主机设置为AllowOverride All,并且我启用了Apache.I的重写模块停止,重新启动并重新加载apache,重新启动我的pc.I认为这与apache或虚拟主机没有问题,我正在写这个。 My apache and virtual host configurations

有一次,我试着键入zf.local /默认/指数/添加和代码工作,所以我需要把A /默认之前在地址栏/指数

我认为这可能与被解决Zend帮助插入我的网址/默认之前/索引 Official DOcumentation form Zend Framework但我不知道该怎么做。到现在为止我已经设法让只虫子

从index.html的我叫旁边的代码从控制器操作:

<a href="<?php echo $this->url(array('controller' => 'index', 
     'action' => 'add')); 
    ?>">Add</a> 
+0

有同样的问题我的另一个问题是:HTTP://stackoverflow.com/questions/9161455/zend-framework-url-not -found-only-with-index-controller-only-if-lowercase – user2236093

回答

0

您ZF应用是不正确创建。首先尝试从命令行创建应用程序。之后,这个问题就解决了。

+0

我使用zf create project zf命令从命令行创建了我的Zend项目。这里是输出robotzi @ ubuntu:/ var/www $ zf创建项目zf 在/ var/www/zf创建项目 注意:该命令创建了一个web项目,有关设置VHOST的更多信息,请参阅docs/README 测试注意:您的include_path中找不到PHPUnit,因此不会创建测试操作。在此之后,我在netbeans中创建了一个来自现有源(zf)的新项目,这可能会是一个启发吗? – user2236093

+0

如果是这样,请检查您的routes.php或Bootstrap.php文件。也许创建了一些代码,覆盖了默认路由。在默认包中,即使您有模块,也可以访问MVC模式的操作,如/默认>/// –

+0

我的Bootstrap.php为空。 U说了一些关于默认包和模块的内容,可以解释一下我该怎么处理它们? – user2236093

0

尝试在视图文件下面,以获得正确的URL

<a href="<?php echo $this->url(array('module' => 'default', 'controller' => 'index', 
    'action' => 'add')); 
?>">Add</a> 
+0

我试过你的解决方案,并没有为我工作。当我从IndexController访问一个动作时,链接仍然是http://zendexample.local/index/add(在索引之前没有默认值)。这里是mmy project puloaded在线http://www.filehost.ro/29420452/ZendExample_zip/]Zend示例 – user2236093

+0

我应该在Zend中使用名称Default创建一个模块来工作吗? – user2236093

相关问题