2011-11-29 80 views
0

我在我的项目中使用Zend路由器,规则是这样的;Zend路径覆盖当前页面中存在的所有url

<projects type="Zend_Controller_Router_Route_Regex"> 
      <route>project/(\d+)/(.+)</route> 
      <defaults> 
       <controller>project</controller> 
       <action>view</action> 
      </defaults> 
      <map> 
       <projectid>1</projectid> 
      </map> 
      <reverse>project/%d/%s</reverse> 
     </projects> 

当我走在url下面;

http://mydomain/project/1/project_name 

所有URL此页面上存在被替换url.For上面的例子,有在此页面的链接发送消息到项目社群拥有我该链路上悬停时,我看到的网址是定义如上。消息发送url是这样创建的;

<a href="<?=$this->baseUrl()?>/misc/sendmessage">Send Message</a> 

正如你可以在上面看到,我使用的网址助手和的baseUrl的内容仅仅是获取关键字从appliation.ini文件名为“的baseUrl”。

你有没有遇到这样的问题?提前

感谢

KR 侯赛因

+2

请修改您的问题,以包含您如何在页面上创建不正确链接的示例。我猜你正在使用URL助手? –

+0

我编辑了我的问题 –

回答

0

我补充说: “<route>default</route>” 在navigation.This默认路由的所有页面必须添加到导航XML每个PAGE电泳问题解决

当前navigation.xml:

...... 
<settings> 
    <label>Settings</label> 
    <title>Settings</title> 
    <resource>edit</resource> 
    <privilege>edit</privilege> 
    <controller>experts</controller> 
    <action>edit</action> 
</settings> 
...... 

更新导航XML:

...... 
<settings> 
    <label>Settings</label> 
    <title>Settings</title> 
    <resource>edit</resource> 
    <privilege>edit</privilege> 
    <controller>experts</controller> 
    <action>edit</action> 
    <route>default</route> 
</settings> 
...... 

感谢

0

我不完全理解你的问题

你如何设置你的applicaiton.ini文件中的baseUrl价值?它应该是这样的:

resources.frontController.baseUrl = "baseUrl" 

而且使用基本URL视图助手似乎并没有成为你的情况最好的选择。你为什么不使用url视图助手?

url($urlOptions, $name, $reset); 
+0

我上面使用的url helpe的目的只是获取项目的基础url。 –