2011-03-07 95 views
0

与Zend没有添加基础url到我认为的路线有点问题。Zend Framework URL路由不添加域

什么,我有如下:

application 
    modules 
     menu 

public 
    menu 
     css 
     js 
     index.php 

    index.base.php 

我使用的功能

<?php echo $this->url(array('module' => 'module1'), 'menu-install'); ?> 

随着路线:

$router->addRoute('menu-install', new Zend_Controller_Router_Route('/install/:modulePath', array('module' => 'menu', 'controller' => 'install', 'action' => 'install'))); 

这是输出,而不是http://menu/install/module1/http://localhost:8888/menu/install/module1/

任何想法是怎么回事?

+0

你能给路线定义为“菜单安装” ? – Akarun 2011-03-07 14:52:44

+0

很抱歉忘记了新增它,现在添加。 – 2011-03-07 14:56:05

回答

1

尝试RO写这个(在引导例如)

Zend_Controller_Front::getInstance()->setBaseUrl('/'); 
+0

如果我在下面添加它似乎工作'$ front-> setBaseUrl('/ localhost:8888 /'。CURRENT_MODULE。'/');' – 2011-03-07 15:24:19

+0

好的,对你有好处:) – azat 2011-03-07 15:36:32

1

通常情况下,URL视图助手后,不带域只返回URI;比

<?php echo $this->url(array('module' => 'module1'), 'menu-install'); ?> 

写这样的事情:

/menu/install/module1/ 

其中:

  1. /菜单是你的 “的BaseURL”(的.htaccess)
  2. /安装/ *为您的内容路由

也许,你有wri te“http://”之前?

的另一种可能性是,你必须与你的参数“模块”和Zend_Framework的“模块”力学一个错误......

阿卡