Zend framework Zend Framework部署到子域

Zend framework Zend Framework部署到子域,zend-framework,Zend Framework,我正在使用Zend框架开发一些应用程序。我在本地主机上开发,然后将其上传到一些子域,如abc.mydomain.com。当我上传我的layout index.phtml时,我得到了所有URL的以下信息: abc.mydomain.com/css/base.css 404 (Not Found) 在web浏览器控制台上,但我的CSS位于公用文件夹中 我链接此css的代码是: <?php echo $this->headLink()->appendStylesheet('/css

我正在使用Zend框架开发一些应用程序。我在本地主机上开发,然后将其上传到一些子域,如abc.mydomain.com。当我上传我的layout index.phtml时,我得到了所有URL的以下信息:

abc.mydomain.com/css/base.css 404 (Not Found)
在web浏览器控制台上,但我的CSS位于公用文件夹中

我链接此css的代码是:

<?php echo $this->headLink()->appendStylesheet('/css/base.css') ?>

我应该怎么做才能使这些地址起作用

完成我的问题:框架如何区分文件夹和控制器,或者我如何告诉框架不要对这些URL操作,它们是文件夹

通常,
baseUrl()
视图帮助程序检测(在内部,使用
Zend\u Controller\u Front::getBaseUrl()
方法)应用程序的基本url是什么

但有时,根据vhost设置和公用文件夹在文档根目录中的位置,您需要明确告诉应用程序您的基本url是什么

application/configs/applicationom.ini
中,您可以设置:

resources.frontController.baseUrl=”http://abc.mydomain.com“

然后,在视图脚本中,您可以使用
baseUrl()
视图帮助器和相对url(相对于您设置的基准)访问公共资产,如下所示:

虽然我看到很多人只是把它当作前缀:


听起来像是与托管子域相关的映射问题。通常在共享主机上,您无法将项目的
public
文件夹映射到子域。因此,需要各种重写技巧才能将页面和资产请求映射到正确的目录中,而不会使ZF对请求的URL产生混淆

退房:


查看问题描述和解决方法。

您是否为
abc.mydomain.com
配置了虚拟主机?我在本地Apache中配置了虚拟主机,但我没有访问服务器虚拟主机的权限,我可以创建指向文件夹的子域。您的
.htaccess
是否到位?请尝试使用Google Translate和类似的工具来纠正您的语言,在您发布问题之前,请!纠正这样的帖子真是一件痛苦的事。htaccess已经到位了。我现在使用完整地址,但这不是一个好的解决方案。感谢您的回答,但当我在application.ini中定义baseUrl时,我得到了相同的错误(未找到),框架无法识别子域中文件夹和控制器之间的差异,但它在主域中运行良好,我不知道为什么。您使用的是
baseUrl()
view helper?是的,我完全按照你说的做了,然后我尝试了所有可能的方法来解决你的问题。是的,从问题级别的评论来看,问题似乎不是不正确地使用
baseUrl()
而是vhost/子域/主机问题。我不这么认为,因为除了这个CSS寻址之外,所有功能都可以正常工作,vhost在服务器中不在我的控制范围内,并且子域设置得很好。你不认为我应该在main index.php中做一些事情来告诉框架这不是一个控制器,而是一个文件夹,如果可能的话?对不起,我在具有相同文件和相同限制的非共享域上遇到了相同的错误。这不是共享本身,而是映射。如果无法将
public
映射到子域的根目录,则必须采取特殊步骤。博客文章中概述的任何步骤——我将整个应用程序推送到链接或评论中标识的特殊
.htacess
规则的受保护目录中的方法——都应该可以完成这项工作。我在非共享服务器上的问题通过更改Apache2站点上可用的虚拟目录并指向公共目录来解决文件夹。