代码检索
这个项目就像建立在codeignitor之上的社交网站。代码检索
这里我默认的控制器是MyController.php(它加载登录页面) ,说我的域名是aravind.com
在我的应用程序的每个用户都会有一个唯一的ID。 以及我的要求是什么,当用户的unique_id在域名后立即给出时,用户的特定页面应该被打开。 即aravind.com/123
应该开放其唯一的ID是123
我知道这可以通过将一个控制器和 域和UNIQUE_ID之间的功能来达到的用户页面(如:aravind.com/Search_class/search_func/123
)。 但是通过这样做,特定用户的URL变得冗长,这是不可接受的。 所以我需要一个逻辑来解决这个问题。
注: 我有其他类和文件夹在我的控制器封装,所以要求SOLN应该 足够的智慧diferentiate在控制器封装用的UniqueID我的课和文件夹。 因此,为了区分我可以说,类和文件夹名称将连续字符串 其中UniqueID以下划线开头(_
)。
同样的事情在Facebook上完成的,就像如果我们输入facebook.com/aravind.pillai.983
,它会打开我的帐户, 这里仿佛网址是这样facebook.com/settings
它会打开设置页面 用户谁拥有一个有效的会话。
任何帮助将不胜感激。 在此先感谢。
设置route["404_override"]
您的自定义类的一个(比如说Search.php
)。 因此,当用户尝试输入一个无效的URL时,它将被重定向到Search.php。
这里使用$this->uri->segment(1)
你会得到第一个uri段的值。
您可以在那里编写逻辑以确定用户是否输入了有效的unique_id。
现在你得到了一个类(Search.php)中的uri值。
你应该使用路由,你可以设置每个你想要的路线。在APPPATH.'config/routes.php'
文件补充一点:
$route['(:any)'] = 'Search_class/search_func/$1';
你应该阅读有关documentation路由和检查其他examples。
另外,请注意,应用程序将始终检查第一个URI段中的Search_class/search_func/$1
,因此您需要将此规则放置在routes.php
文件的末尾。该规则之前,您需要像设置其他规则:
$route['about'] = 'pages_c/show/about';
$route['contact'] = 'pages_c/show/contact';
// then after all declared routes, you can set wild card placeholder
$route['(:any)'] = 'Search_class/search_func/$1';