链接到CodeIgniter中的静态页面

时间:2013-09-04 17:23:37

标签: php codeigniter codeigniter-url codeigniter-routing

我是PHP和CodeIgniter的新手,我在CodeIgniter应用程序中设置静态页面的路由时遇到了麻烦。

我的页脚中有About Us | Contact Us | Privacy Policy和许多其他页面,当用户点击时,应该转到网址 mysite.com\about mysite.com\contact mysite.com\privacy

你得到了要点..

这是我在views文件夹

中的页脚div中所做的
<a href="home/staticpages/about">About</a> |
<a href="home/staticpages/contact"> Contact Us</a> | 
<a href="home/staticpages">Privacy</a> | 
<a href="home/staticpages">Terms of Use </a>

这是控制器Home

中的功能
public function staticpages($page)
    {

        if ( ! file_exists(APPPATH.'application/views/'.$page.'.html'))
        {
            // Whoops, we don't have a page for that!
            show_404();
        }

        $data['title'] = ucfirst($page); // Capitalize the first letter

        $this->load->view($page, $data);

   }

静态页面只是纯HTML内容,包含<p>字段,没有动态或javascript内容。所以我把它们保存为.html; contact.html,about.html等。 我只想在页眉和页脚之间的contentbody div中加载这些页面的内容,这是整个网站中用户点击的唯一内容。

当我转到http://localhost/myapp/home/staticpages/about

我得到了

404 Not Found error  The requested URL /dissekted/home/staticpages/about was not found on this server.

这是浏览器抛出的那个。

3 个答案:

答案 0 :(得分:3)

配置您的基本网址

$config['base_url'] = 

加载助手

第一种方法

   $this->load->helper('url');

或第二种方法  通过更改application / config / autoload.php自动加载它

一起使用
$this->config->base_url();

首先使用echo检查您是否获得了基本网址

<?php echo base_url(); ?>

并使用您的静态链接

<a href="<?php echo base_url(); ?>/static_file "  />static link</a>

确定 在控制器中使这个内部功能像

public function static ()
    { 

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

答案 1 :(得分:0)

检查配置文件中的基本网址,确保路径上有最终/

$config['base_url'] = 'http://localhost/myapp/'

另外,我使用URL Helper中的anchor()函数来创建我的链接。

负责正确形成链接并考虑基本URL。

答案 2 :(得分:0)

create privacy.php in view folder and use below code to display it.


$this->load->view('page_name'); no need to use extension like static.php.

function privacy() {`enter code here`
        $data['meta_title'] = 'Privacy Policy';
        $data['title'] = 'Privacy Policy';
        $data['main'] = 'root/privacy';
        $this->load->vars($data);
        $this->load->view($this->template or page_name);
}