我正在开发一个关于Codeigniter 2.0.2的网站。在这个网站上,公司/用户可以注册并创建自己的个人资料页面,有自己的自定义url(如http://facebook.com/demouser),有自己的反馈系统,显示自己的服务。
这就是说,我已经成功地以下列格式显示了配置文件页
http://mainwebsite.com/company/profile/samplecompany --它显示公司samplecompany的主页,其中公司是控制器,而配置文件是方法。
现在我有几个问题,
http://mainwebsite.com/company/profile/samplecompany/services或http://mainwebsite.com/samplecompany/services
http://mainwebsite.com/company/profile/samplecompany/contactus或http://mainwebsite.com/samplecompany/contactus
wheresamplecompany` `动态部分是否可以以这种格式创建站点链接?
工作正确吗?
发布于 2011-05-25 19:20:17
我想使用htaccess和默认控制器创建/获取http://mainwebsite.com/samplecompany是可能的。如果有人能帮忙执行htaccess规则,那就太棒了。我已经使用htacess从CI中删除index.php,但无法实现此工作。对于给定的用户/公司,几乎没有其他页面,例如反馈、联系我们、服务等。因此,我想到的实现链接是表单` http://mainwebsite.com/company/profile/samplecompany/feedback或http://mainwebsite.com/samplecompany/feedback。
您可以使用路线完成这一任务。例如,在您的/config/routes.php文件中,放置以下内容:
$route['samplecompany'] = "company/profile/samplecompany";
$route['samplecompany/(:any)'] = "company/profiles/samplecompany/$1";第一个规则告诉CodeIgniter,当有人访问http://mainwebsite.com/samplecompany时,它应该处理它,就像URL是"company/profile/samplecompany“一样。第二个规则捕获URI字符串中在"samplecompany“之后出现的任何内容,并将其附加到末尾。
但是,如果您有多个公司(不仅仅是samplecompany),您可能希望将CI的路由器扩展到支持这一点,除非您希望每次添加新公司时手动编辑配置文件。
好的,您肯定会想要处理动态的公司名称(根据您的评论)。这有点棘手。我不能给你完整的代码,但我可以给你指明正确的方向。
您需要扩展CI的路由器,并在传入的请求中查询DB中的公司名称列表。如果URI段与公司名称匹配,则需要使用company/profile方法为其提供服务。如果没有,您将忽略它,让CI正常处理它。想了解更多信息,请查看这篇关于这个主题的文章:论坛链接。
发布于 2012-05-15 12:24:59
这里有一个关于如何实现所需内容的很好的指南:Codeigniter虚荣网址。
https://stackoverflow.com/questions/6129471
复制相似问题