当您部署Zend框架网站共享主机,您通常无法改变的DocumentRoot在网站的公共/文件夹指向。 作为结果的URL网站现已http://www.example.com/public/ 。 这看起来不是很专业,所以我想将其删除。 到现在为止我已经使用ZF1和罗布·艾伦好心提供了在他的博客中这样的方法http://akrabat.com/zend-framework/zend-framework-on-a-shared-host/ 。 我试图修改此为ZF2。 他建议放置一个index.php文件与行根:
include 'public/index.php';
这样做了以后, http://www.example.com打开索引页确定,但CSS的链接断开。 罗布增加了一个控制器插件重置的baseUrl到/公众应对面向公众的CSS和图像文件等。要做到这一点在ZF2我发现从马修纬二路O”菲尼项目HTTP://zend-framework-community.634137。 n4.nabble.com/Setting-the-base-url-in-ZF2-MVC-td3946284.html在那里,他介绍了如何设置的baseUrl。 根据他的代码,我已将此添加模块/应用/ Module.php
class Module {
public function onBootstrap(MvcEvent $e) {
$config = $e->getApplication()->getServiceManager()->get('config');
$router = $e->getApplication()->getServiceManager()->get('router');
$router->setBaseUrl($config['base_url']);
}
}
所述BASE_URL键被设置在模块/应用程序/ CONFIGS / module.config.php:
'base_url' => '/public'
我能够转储路由器对象并确认BASE_URL被正确设置在这个阶段。 不幸的是,现在http://www.example.com不再打开索引页,并给出了404路由错误。
有没有人能告诉我,我做错了,或点我在正确的方向运行在一个共享的主机环境中ZF2网站?