【发布时间】:2013-07-08 15:49:04
【问题描述】:
我阅读了很多关于如何将 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 ( / ) 中添加了一个 index.php:
<?php
define('RUNNING_FROM_ROOT', true);
include 'public/index.php';
现在我的 web 可以正常工作但不完全,我的意思是,没有 css 样式、没有 js 和没有图像,但只有当我使用 $this->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....
那么,有人有这方面的经验吗?对付魔鬼?
提前致谢。
【问题讨论】:
-
你是/public/文件夹下的index.php文件吗?
-
将一些垃圾文本放入您的 .htaccess 文件中,以查看网络服务器是否正在解析它。预期的行为将是 500 错误
-
嗨 joellrod,默认 index.php 在 /public/ 文件夹中,默认代码。
-
嗨 Orangepill,我编辑了我的 /public/.htaccess,当我进入 mysite.com/public 时出现 505 错误,这是什么意思?
-
还是不行,我只能看到我的布局和我的索引内容(只有视图,我没有为索引生成控制器),一些想法?一些手册可以阅读?
标签: php .htaccess zend-framework