2010-01-03 32 views
2

我试图将WordPress与我的Zend应用程序集成使用插件,它工作得很好,除了一件事:基地url 。我的wordpress插件在/ myapplication/libray/wordpress的应用程序引导程序中调用我的集成函数。因此,请求库网址被设置为整个应用程序的这个值。我想愚弄Zend,认为请求是从/ myapplication/public派发的,以便它可以相应地检测到基础URL。当然,$ request-> setBaseUrl('/ myapplication/public')将是一种简单的方法,但是这会在博客将托管在blog.myapplication.com上的生产端和我的基URL映射到/并不会造成问题。我不想根据应用程序环境进行破解和放置条件。如何愚弄Zend认为请求是从另一个目录而不是默认的index.php

有没有一种优雅的方式来做到这一点。我试着玩弄请求对象和$ _SERVER变量,比如REQUEST_URI,SCRIPT_NAME SCRIPT_FILENAME PHP_SELF,但我似乎无法使其工作。也许我需要使用一个Route对象,如果有的话,是否有人可以解释我是如何解释的,因为在这种情况下,我对理解这个概念似乎没有最大的把握。

回答

1

为什么不做$request->setBaseUrl()根据APPLICATION_ENV常数?

if (APPLICATION_ENV != 'production') { 
    $request->setBaseUrl('/myapplication/public'); 
} 

或更好 - 在开发机器上设置虚拟主机来模拟实际的生产设置。

+0

那么,这实际上正是我所做的另一种方法,即使我对这种方法并不满意。但我想这是迄今为止最简单的解决方案,不会增加不必要的复杂性。 – 2010-01-06 14:32:14

+0

@gnarf总而言之,毕竟我认为它解决了这个问题。更好地使用这种方法比没有。 – 2010-02-22 02:10:53

相关问题