2012-02-06 122 views
1

我有一个Zend应用程序,我试图移植到一台[新]计算机。我已经在以前的机器上工作了。Zend路由不能正常工作

当我去到URL localhost/myapp时,应用程序加载正确的索引页面(即按照它应该运行我的IndexController.indexAction())。但是,当我转到任何其他页面时,出现无法找到控制器“myapp”的错误。

我已确认重写正在工作(呈现的错误页面是通过我自定义的ErrorController) - 似乎由于某种原因,Zend将webroot视为localhost,这意味着之后的第一个参数“ myapp“正被视为控制器。

关于什么可能导致这种情况以及如何解决它而不将整个应用程序移动到Web目录根目录的任何想法?

回答

0

发现在我的htaccess文件中添加以下行的答案:

RewriteBase /myapp 

我不明白为什么需要这条线(它在原始计算机上完全忽略了应用程序的工作方式罚款),但添加它解决了这个问题。

0

这是工作,因为你的.htaccess文件是在根目录下,以便通过本地主机/ MYAPP它要它的index.php,但不可能在项目的文件夹中找到的.htaccess

+0

其实不然。在另一台计算机上,这条线被省略了,但我也有几个Zend应用程序,每个都位于它自己的服务器根目录的子目录中。 – Elie 2012-02-07 17:42:56