Php codeigniter中基于文本的URL路由

Php codeigniter中基于文本的URL路由,php,codeigniter,url,codeigniter-3,Php,Codeigniter,Url,Codeigniter 3,如何在Codeigniter中执行基于文本的路由 例如,我如何改变 example.com/job/details/1 到 您可以使用控制器功能处理此问题,而无需使用路由,因为在我看来两者都是相同的 public function FunctionName($value) { echo $value; } 在这种情况下,您必须在数据库中定义自定义URL slug,并通过进行搜索 但是我建议使用ID和URL参数,即使StackOverflow也会这样做 示例URL-https://s

如何在Codeigniter中执行基于文本的路由

例如,我如何改变

example.com/job/details/1


您可以使用控制器功能处理此问题,而无需使用路由,因为在我看来两者都是相同的

public function FunctionName($value)
{
    echo $value;
}
这种情况下,您必须在数据库中定义自定义URL slug,并通过进行搜索


但是我建议使用ID和URL参数,即使StackOverflow也会这样做

示例URL-
https://stackoverflow.com/questions/49234770/text-based-url-routing-in-codeigniter

public function FunctionName($id,$value)
{
    echo $id; # 49234770
    echo $value; # ext-based-url-routing-in-codeigniter
}
在您的案例中
example.com/job/details/1/software engineer

public function details($id,$value)
{
    echo $id; # 1
    echo $value; # software-engineer
}
或者以更多的SEO方式

$route['job/(:num)/(:any)'] = 'job/details/';

<a href="<?php echo base_url()?>job/1/software-engineer">Click Here to apply</a>
$route['job/(:num)/(:any)]='job/details/';

在application/config/route.php文件中为该类型url设置路由在数据库中添加字段slug,创建作业时根据名称/标题自动生成slug,并在url中使用该slug而不是idPlease请遵循以下链接:根据您的要求创建路由。
$route['job/(:num)/(:any)'] = 'job/details/';

<a href="<?php echo base_url()?>job/1/software-engineer">Click Here to apply</a>