0

我想写个人资料名称www.example.com/profilename

为此,我考虑将所有不属于我的名称重定向controller到我的个人资料controller。我使用了以下代码

$route['(![abc])'] = "profile/$1";

但这似乎没有帮助。

4

2 回答 2

2

在这种情况下,您必须显式创建一个规则来为您的控制器路由并将其他所有内容重定向到配置文件。

$controllers = array('profile','signup','...');

foreach($controllers as $controller) {
    $route[$controller] = $controller."/index";
    $route[$controller."/(:any)"] = $controller."/$1";
}

$route['(:any)'] = "profile/$1";
于 2012-12-29T17:47:06.750 回答
1

好,

您必须了解,通过这种路由,几乎所有内容都将转到您的配置文件控制器。您可以做的是以下步骤。您要做的第一件事是将所有内容路由到配置文件控制器,然后将一些路由重置到其他控制器。像这样:

*/
Route to profile if there only characters in the request. 
When it has special characters in it will be passed.
*/
$route['([a-z]+)/(:any)'] = 'profile/?profile=$1';

// Now make sure other controllers can be called too
$route['other/(:any)'] = 'other/$1';

// And another controller.. etc.
$route['etc/(:any)'] = 'etc/$1';

我不完全知道你在做什么,但使用路线有点糟糕。仅当您正在制作以社区为中心或社交媒体平台时。我当然明白。

于 2012-12-29T11:21:58.543 回答