0

首先,我不是 codeigniter 开发人员,尽管我对它和 MVC 有一定的了解。我继承了一个项目,公司的老开发人员删除了他们的 codeigniter 网站,并将其替换为静态的单页 html 内容。他们这样做(据我所知)只是重命名 index.php 并将 index.html 放在根目录中。

所以...我将所有 codeigniter 文件移动到一个子目录,并适当地重命名了 index.php 文件

现在主页出现了,但所有内部链接都因内部 (500) 服务器错误而中断。

我做了几件事无济于事:

  • 修改了 config.php base_url 以包含子目录:$config['base_url'] = "http://". $_SERVER['HTTP_HOST']."/subdir/";
  • 尝试了所有选项$config['uri_protocol']

有人有想法么?我真的只需要从站点中恢复数据,我可以通过查看数据库和其他一些直接编码到视图中的东西来手动完成 - 但我宁愿让旧站点在子目录中运行。

4

1 回答 1

0

$config['index_page'] = '';吗?

服务器是否运行 Apache?如果是这样,.htaccess规则呢?如果是这样,您可能需要添加 RewriteBase 规则,如下所示:

RewriteBase /subdir/

我们不再假设旧开发人员使用anchor(),base_url()和/或site_url()正确。如果他们对链接进行了硬编码(您不应该使用 CI),那么您必须编写.htaccess规则以将它们重写到新的子目录或编辑可能生成此类链接的控制器/视图。

于 2012-09-17T16:56:37.127 回答