我是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.
这是浏览器抛出的那个。
答案 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);
}