2010-11-11 58 views
3

我有我的网站在/ var/www/invent。我在/ var/www/invent/library中有zend-framework。安装zend框架没有apache虚拟主机

基本上我想要的是当我访问http://localhost/invent时就好像我有一个在apache conf文件中定义的虚拟主机“发明”(如访问http://invent)。我怎样才能做到这一点? 我在windows下开发了我的项目,设置了虚拟主机,但我不想继续这样工作,因为我无法在公开的webhosting服务上部署我的应用程序,这些服务不允许我创建虚拟主机。更不用说,如果我在局域网上部署应用程序,我还需要配置客户端的主机文件以及... 请帮助,这是与zend最讨厌的事情(迄今为止还没有尝试过其他框架)。

+0

我无法理解你的问题。你能描述一下你遇到的实际问题吗? – Phil 2010-11-11 04:02:12

+0

好吧,我想有一种方法来部署我的zend应用程序,而无需在网络服务器的配置文件(和/ etc/hosts文件)中添加虚拟主机。我知道我必须使用.htaccess,但我不知道如何。 – user253530 2010-11-11 04:05:26

+0

,因为我的Zend和ZendX文件夹位于我想要使用的应用程序的库文件夹中,比方说,我的工作应用程序文件夹(比如c:/ wamp/www/invent)放在我的linux机器上(比如/ var/www/invent),并像在windows上一样运行(在我的Windows机器上,我定义了虚拟主机并更改了etc/hosts文件,以便通过键入http:// invent来访问我的应用程序)。我想要的是将zend app文件夹放置在另一个web服务器上的一般解决方案,并且无需特殊配置即可工作(有时无法使用免费webhosting服务)。 – user253530 2010-11-11 04:09:04

回答

4

您的应用程序文档根位于您放置index.php文件的位置,Zend Framework库的位置与您的应用程序代码无关。

假设您已经在视图中使用了BaseUrl助手来获取静态资产(JavaScript,CSS,图像)和动作链接的Url助手,那么您的应用程序应该是非常便于携带的,从Web服务器文档根目录。

让我知道如果我在这里偏离轨道。你的问题可以做更多的细节。

+0

我今天第一个最大的问题是,我试图在免费托管服务上上传我的应用程序并失败。这些库不能被加载,因为我没有使用BaseUrl助手,所以不想知道还有什么错误。 – user253530 2010-11-11 04:15:34

1

删除vhost属性并直接转到http://localhost/yourproject/public文件夹。你将需要保持与htaccess的mod_rewrite,不要删除htaccess的mod_rewrite属性

+0

如果我需要从布局加载js或css,会发生什么情况。 baseUrl无法正常工作。 – user253530 2010-11-11 04:44:51

+0

$ this-> jQuery() - > setLocalPath($ this-> baseUrl('/ js/jquery-min.js'))不加载我的jQuery库。 – user253530 2010-11-11 04:47:03

+0

使用内部headScript()帮助器在您的布局中加载jquery headScript() - > appendFile('http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js'); ?>从谷歌图书馆加载它。刷新您的浏览器缓存后。以下是关于视图助手的一些信息:http://framework.zend.com/manual/en/zend.view.helpers.html – Conex 2010-11-11 05:06:33