Codeigniter:如何在codeigniter上下文中提供静态html页面

时间:2010-10-18 12:18:02

标签: codeigniter

大家好 我想在codeigniter上下文中提供一些静态html页面。我不想绕过base_url中的index.php文件。 但是当我用户调用HTML文件时,它会显示404错误页面。 我很感谢那些已经解决这个问题的人对这个主题的任何帮助。感谢所有提前

我想要精确理解这些元素:

  1. 我真正的问题是为用户提供PDF文件,只在浏览器中显示一个不保存的PDF文件。所以我将PDF转换为HTML文件。输出是一个目录,其中包含链接的HTML文件和其他图像/按钮,CSS,用于导航的js
  2. 当我将此HTML-OUTPUT放在ci \ Docs \ HTML1目录中时,我可以使用此URL localhost / ci / docs / html1 / index.htm访问它。 但是在我使用localhost / ci / index.php / docs / html1 / index.htm的地方,我收到了A 404错误页面。
  3. 所以我将HMLT1目录移动到了Application \ views目录。我仍然有同样的错误。我的.htacces看起来像这样:

    <IfModule mod_rewrite.c>
    
    RewriteEngine on
    RewriteCond $1 !^(index\.php|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
    
    </IfModule>
    
  4. 感谢各位帮助

3 个答案:

答案 0 :(得分:12)

将静态HTML文件创建为视图,然后只加载视图:

$this->load->view('static.html');

然后,您可以作为普通控制器访问此文件。这一切都取决于你如何设置你的.htaccess。

答案 1 :(得分:1)

对我来说,我只是将静态html页面的文件夹名称添加到.htaccess中,以便从regexp中将其排除,如下所示,并且它可以正常工作。只是将其从重写URL排除到index.php

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|sitemap\.xml|static-html) 
RewriteRule ^(.*)$ index.php/$1 [L]

答案 2 :(得分:0)

$ route ['your-page-url'] =“/ page / message / your-page-url”;

在页面控制器功能中:

public function message($page = 'your-page-url')
{
    $data['title']= 'Your Page Title';
    $this->load->view('/header',$data);
    $this->load->view('pages/your-page-url');
    $this->load->view('/footer');
}