【问题标题】:How do I run SSI in CodeIgniter?如何在 CodeIgniter 中运行 SSI?
【发布时间】:2021-09-22 03:04:20
【问题描述】:

我需要在实时服务器上配置我的网站,以便将 CI3 提供的默认 error_404.php 页面替换为 .shtml 类型的自定义错误页面,并使用 SSI 功能(设置变量和包含)。我制作了一个控制器并将我的 .shtml 文件放入 views 文件夹,并成功重定向到 error404.shtml 页面,但网页只是空白。我检查了浏览器控制台,没有出现错误日志。我尝试在根目录(与 index.php 相同级别)中创建一个 .htaccess 文件并在其中添加“+Options Includes”行,但仍然无法读取 SSI。 CodeIgniter 中是否可以使用 SSI?我知道在服务器端 SSI 可以工作,因为所有 PHP 站点都会加载错误页面,但使用 CodeIgniter 创建的页面除外。

这是我加载 shtml 的方式:

<?php

// Error controller
// This controller is used to manage the errors (404)
class Errors extends CI_Controller 
{

    // Main controller for the contact form
    public function error404()
    {
        // Create your custom controller

        // Display page
        $this->load->view('errors/error404.shtml');
    }
}

这就是error404.shtml的样子:

<!--#set var="code" value="404" -->
<!--#set var="reason" value="Page Not Found" -->
<!--#set var="msg" value="Error" -->
<!--#set var="msg2" value="The page you are looking for does not exist." -->
<!--#set var="favicon" value="a.ico" -->
<!--#set var="logo" value="logo.png" -->
<!--#set var="tagline" value="" -->
<!--#set var="ogimage" value="ogimage.jpg" -->

<!--#include virtual="template.shtml" -->

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    我找到了一个解决方案,而不是在我的错误控制器中使用 $this->load->view('errors/error404.shtml') 我使用了 redirect('path/to/error404.shtml') 并添加了 $this ->load->helper('url') 在重定向行之前。

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 2012-02-27
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 2013-12-15
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      相关资源
      最近更新 更多