我需要在codeiginter中进行自定义URL以显示
的链接domain.com/news/id/1到domain.com/article-name.html
我希望它对所有新闻ID动态不仅仅是一个链接
我可以在Codeiginter中进行吗?
是的,您可以,这称为URL重写。我可以在这里解释,但是官方文件要好得多。
在这里是:http://ellislab.com/codeigniter/user-guide/general/urls.html
在您的 config.php
文件中执行此操作:
$config['url_suffix'] = '.html'; // this line might actually not be necessary, i forget
in routes.php
设置以下内容:
$route['article-name.html'] = "news/id/1";
让我知道您是否遇到任何错误。
更新
步骤1:在Routes.php
中设置默认控制器$route['default_controller'] = 'get_article';
步骤2:将您的config.php设置为put .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
}
}
}
?>