Php Codeigniter v.3定制路线

Php Codeigniter v.3定制路线,php,codeigniter,routing,Php,Codeigniter,Routing,我使用codeigniter v.3,我的大多数页面中都有以下url: www.domain.buu/page/index/105 其中Page是控制器名,index是函数名,105是记录的id 我想要的是www.domain.buu/my\u custom\u page\u name 其中my\u custom\u page\u name可以是routes.php 105 = "my_custom_page_name" 106 = "my_other_custom_page_name" 107

我使用codeigniter v.3,我的大多数页面中都有以下url:

www.domain.buu/page/index/105

其中Page是控制器名,index是函数名,105是记录的id

我想要的是
www.domain.buu/my\u custom\u page\u name
其中
my\u custom\u page\u name
可以是
routes.php

105 = "my_custom_page_name"
106 = "my_other_custom_page_name"
107 = "some_other_page_name"
这有可能做到吗?CodeIgniter手册在这方面没有太大帮助。我尝试使用以下代码更改路线:

$route['index/page/:num'] = 'my_custom_page_name';

但是它不起作用。

你的路线尝试是正确的,但是你需要改变论点

$route
中的数组键是用户将看到的URI,例如您的示例中的
my\u custom\u page\u name

该值是要使用的控制器和方法,例如page/index/105

在您的情况下,路线可能如下所示:

$route['my_custom_page_name'] = 'index/page/105';

你的路线尝试是正确的,但是你需要改变论点

$route
中的数组键是用户将看到的URI,例如您的示例中的
my\u custom\u page\u name

该值是要使用的控制器和方法,例如page/index/105

在您的情况下,路线可能如下所示:

$route['my_custom_page_name'] = 'index/page/105';

我不确定你想要实现什么,但可能是:

$route['my_custom_page_name/(:num)'] = 'page/index/$1';

我不确定你想要实现什么,但可能是:

$route['my_custom_page_name/(:num)'] = 'page/index/$1';

如果您试图实现seo友好的URL,您可以使用
slug
而不是105(假设它是唯一的id),方法是在数据库中添加一个名为
slug

例如,
http://www.example.com/page/this-is-my-slug/

使用routes.php时,需要为所有条目复制路由设置

$route['my_custom_page_name'] = 'index/page/105';
$route['my_custom_page_name-new'] = 'index/page/106';

如果您试图实现seo友好的URL,您可以使用
slug
而不是105(假设它是唯一的id),方法是在数据库中添加一个名为
slug

例如,
http://www.example.com/page/this-is-my-slug/

使用routes.php时,需要为所有条目复制路由设置

$route['my_custom_page_name'] = 'index/page/105';
$route['my_custom_page_name-new'] = 'index/page/106';

您应该了解路由的作用。如果您需要像下面这样的url
www.domain.buu/my_custom_page_name
routes.php中的重定向或精确名称。您应该了解路由的作用。如果您需要像下面这样的url
www.domain.buu/my_custom_page_name
;在my routes.php中,但没有任何更改。url仍然与mydomain相同。buu/page/index/105路由不会将现有页面重定向到新url,而是添加另一个路由以访问同一页面。尝试转到以下页面:mydomain.buu/security。这应该加载与page/index/105相同的页面如果您想访问我的自定义页面而不是page/105,您需要使用.htaccess或重定向脚本在CI中添加重定向规则。我明白了。但是由于某种原因,当我键入mydomain.buu/security时,我得到的是一个没有记录的页面。数据库中的数据丢失。您使用了什么路径?[domain]/[route value]有效吗?我添加$route['security']='page/index/105';在my routes.php中,但没有任何更改。url仍然与mydomain相同。buu/page/index/105路由不会将现有页面重定向到新url,而是添加另一个路由以访问同一页面。尝试转到以下页面:mydomain.buu/security。这应该加载与page/index/105相同的页面如果您想访问我的自定义页面而不是page/105,您需要使用.htaccess或重定向脚本在CI中添加重定向规则。我明白了。但是由于某种原因,当我键入mydomain.buu/security时,我得到的是一个没有记录的页面。数据库中的数据丢失。您使用了什么路径?[domain]/[route value]有效吗?我不知道原因是什么,但我从来没有收到任何错误,但url没有任何更改,无论我做什么…奇怪…我现在将检查我的错误日志,也许我会在那里找到一些东西我不知道原因是什么,但我从来没有收到任何错误,但url没有任何更改,不管我做什么…奇怪…我现在会检查我的错误日志,也许我会在搜索引擎优化后发现一些不太正确的东西,但如果没有其他方法有效,我会看看这个答案,记住我现在正在寻找快速而肮脏的解决方案不是真正的搜索引擎优化后,但如果没有其他方法有效,我会看看这个答案,考虑到我现在正在寻求快速而肮脏的解决方案