URL中的查询字符串

时间:2013-08-15 22:36:50

标签: .htaccess codeigniter mod-rewrite friendly-url

所以我接手了一个我的朋友已经开始但没有时间完成的项目。这是一个使用CodeIgniter构建的在线电子商务系统。问题是,每个产品的网址都设置为site.com/store/viewProduct?id=3,ID为标识符。现在我可以将ID保留在URL中,但我想这样做,以便删除?并同时添加产品标题。所以最终的网址就像site.com/store/viewProduct/3/cake-cutter或类似的东西。

控制器也对$_GET['id'];的所有引用起作用。我知道我也必须改变它......但是为了什么?

我尝试将网址更改为如上所示,然后使用$this->uri->segment(1,0);获取产品ID,但我收到了错误。

我将使用url_title();函数内置的CodeIgniters生成产品名称,但更改这些网址的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

最好的办法就是改变控制器获取ID的方式。我假设你不需要第4个URI段,这只是为了SEO /可用性目的......但即使你这样做,你仍然可以通过设置这个功能的方式得到它。

class Store extends CI_Controller {

    //site.com/store/viewProduct/3/cake-cutter
    public function viewProduct($id, $name)
    {
        //do stuff and now you have access to $id and $name
        //$id == 3
        //$name == 'cake-cutter'
    }

}