Codeigniter domain.com/articlename.html中的自定义网址

时间:2014-02-07 22:57:27

标签: php codeigniter mod-rewrite friendly-url

我需要在Codeiginter中创建自定义URL以显示来自

的链接

domain.com/news/id/1 至 domain.com/article-name.html

我希望它对所有新闻ID都是动态的,不仅仅是一个链接

我可以在codeiginter中做到吗?

2 个答案:

答案 0 :(得分:0)

是的,你可以,这称为URL重写。我可以在这里解释,但官方文档要好得多。

这里是:http://ellislab.com/codeigniter/user-guide/general/urls.html

答案 1 :(得分:0)

config.php 文件中执行以下操作:

$config['url_suffix'] = '.html'; // this line might actually not be necessary, i forget

routes.php 中设置:

$route['article-name.html'] = "news/id/1";

如果您有任何错误,请告诉我。

更新

步骤1:在routes.php中设置默认控制器

$route['default_controller'] = 'get_article';

第2步:设置config.php,将.html放在最后

$config['url_suffix'] = '.html';

第3步:创建控制器

// path:   /codeigniter/2.1.4/yourAppName/controllers/get_article.php

<?php
class Get_article extends CI_Controller {

    public function index($article = '')
    {
        // $article will be "article-name.html" or "article2-name.html"
        if($article != '')
        {
            $pieces = explode('.', $article);

            // $pieces[0] will be "article-name"
            // $pieces[1] will be "html"

            // Database call to find article name
            // you do this

            $this->load->view('yourArticleView', $dbDataArray);
        }
        else
        {
            // show a default article or something
        }
    }
}
?>