PHP   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 如何使用codeigniter创建seo友好的URL?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我几天都在倚靠Codeigniter,我想知道在Codeigniter上创建博客,但是我想到了两个问题.

1.如何像WordPress一样使用创建SEO友好URl.

2.导航到该URL后如何获取页面内容.

我创建了表tbl_post,我存储帖子的详细信息和表结构是:

1. ID
 2. title
 3. Content
 4. Tags
 5. Status
 6. Create Time
 7. update Time
 8. Author ID
 9. Status

现在我想从上表创建动态帖子URl.

例如:http://www.example.com/hello-world/

导航到上面的URL后,如何获取Hello-world帖子的内容?

您已注意到我没有将任何ID传递给示例URL以获取内容.任何建议,如果我传递ID而不想显示在URL字符串中?

而已.

如果你以正确的方式引导我,我会感激的.

谢谢.

代码审查

主页(我的博文列表视图)

家庭控制器:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends CI_Controller {

    public function index()
    {
        $this->load->model("HomeModel"); // Load home model
        $data['postData'] = $this->HomeModel->postData(); // Get posts data from postData function

        $this->load->view("global_header"); // Include header area
        $this->load->view("home",$data);
        $this->load->view("global_footer"); // Include footer area
    }

}

家庭型号:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class HomeModel extends CI_Model{

    public function postData()
    {
        $this->db->@R_675_10288@ct('tbl_post.*,tbl_user.first_name,tbl_user.last_name');
        $this->db->from('tbl_post');
        $this->db->join('tbl_user','tbl_post.author_id = tbl_user.id','Left Join');
        $query = $this->db->get();
        return $query->result();    
    }

}

家庭观点

<?php for($i=0; $i<count($postData); $i++): ?>
        <?php 
            $postID =  $postData[$i]->id;
            $posttitle = $postData[$i]->title;
        ?>
        <a href="<?php echo base_url("$postID/$posttitle"); ?>">
            <h2 class="post-title">
                <?php echo $posttitle; ?>
            </h2>
        </a>
    </div>
    <hr>
<?php endfor; ?>

现在我的URL看起来像这样http://example.com/1/man-must-explore-and-this-is-exploration-at-its-greatest

Domain: http://example.com
ID: 1
title: man-must-explore-and-this-is-exploration-at-its-greatest

我创建了另一个视图(帖子)来显示帖子内容和帖子ID(从URL获取ID).

我走对了路吗?需要你的建议来改善我的逻辑.

解决方法

回答第一个问题

CodeIgnitor是oop概念框架,它使用Model View Controller.(MVC架构).

所以每次点击网站都会转到Controller.然后,只有控制器将决定显示什么或下一步做什么.

如果有3页(例如:家,产品,请联系我们),那么使用3个控制器(home =使用默认控制器,产品=使用产品,联系我们=使用联系方式).

那么您的URL将是(如果您点击产品)它显示www.test.com/product,如果您点击联系它显示www.test.com/contact.

回答第二个问题

你的表中始终保持自动增量ID(必须).然后你可以将id传递给控制器​​,并可以获得你想要的数据.

对于前我加载一些内容到页面.(产品内容).

您的数据显示页面(查看)

<?php 
foreach ($product as $variablE) // $product is data array which you send data
{
?>
   <div class="content">
        <a href="[call your controller here,in my `product`]/[*call sub function*,i use `show`]/ [*then pass here to product id*]<?php echo $variable['id']"></a> 
   <div>
<?php
}
?>

所以你的网址看起来像(点击产品后,该产品的假设ID为25)www.test.com/product/show/25

然后在产品控制器中创建

public function show($id)//$id variable to assign value which coming through URL 
{
   1. your code
   2. then load view
}

大佬总结

以上是大佬教程为你收集整理的php – 如何使用codeigniter创建seo友好的URL?全部内容,希望文章能够帮你解决php – 如何使用codeigniter创建seo友好的URL?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。