我阅读了很多关于如何将Zend Framework 1.12项目部署到生产环境的指南,我想我已经完成了所有步骤,但我无法在.htaccess上配置重写规则,首先要知道,服务器是共享服务器,因此,我无法访问任何配置,因此,问题只是重定向到我的/public/inedx.php文件。
首先,在我的主文件夹(/)中,我根据官方指南(http://framework.zend.com/manual/1.12/en/project-structure.rewrite.html -> Rewriting inside a VirtualHost )
添加了一个包含此内容的.htaccess文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
我将此文件上传到我的主文件(/),仍然显示404错误。
然后,我在main(/)whit中添加了一个index.php:
<?php
define('RUNNING_FROM_ROOT', true);
include 'public/index.php';
现在我的网络工作但不完全,我的意思是,没有css样式,没有js,没有图像,但只有当我使用$ this-&gt; baseUrl()时,所以,在我的布局中我使用这样的css链接:
> <link href="<?php echo $this->baseUrl()."/css/global.css"; ?>"
> rel="stylesheet" type="text/css">
出现了404:
"NetworkError: 404 Not Found - http://www.mysite.com/css/global.css"
如果它应该是http://www.mysite.com/public/css/global.css,那么,我编辑我的布局,js和css现在正在工作,但当我点击一个链接时,如:
http://www.mysite.com/controller/action/#0-0
我得到另一个404 ....
那么,有人有这方面的经验吗?打击魔鬼?
提前致谢。
答案 0 :(得分:0)
不要
include 'public/index.php';
处理此问题的最佳方法是将public / index.php与.htaccess一起移动到根文件夹中。完成后,从
中修改index.php中的APPLICATION_PATH/../application
到
application
我不确定是什么
define('RUNNING_FROM_ROOT', true);
应该做任何一件事。
答案 1 :(得分:-1)