我正在开发Codeigniter 2.0.2上的网站。公司/用户可以注册并创建自己的个人资料页面,拥有自己的自定义网址(如http://facebook.com/demouser),拥有自己的反馈系统,展示他们的服务。
这就是说,我已成功以下列格式显示个人资料页面
http://mainwebsite.com/company/profile/samplecompany
这将显示公司samplecompany
的主页,其中company是控制器,profile是方法。
现在我几乎没有问题,
我想可以使用htaccess和默认控制器来创建/获取http://mainwebsite.com/samplecompany。如果有人可以帮助htaccess规则,那将是非常棒的。我已经在使用htacess从CI中删除index.php但是无法正常工作。
给定用户/公司的其他页面很少,例如反馈,联系我们,服务等。因此,我想到的实现链接的形式是 ` http://mainwebsite.com/company/profile/samplecompany/feedback或 http://mainwebsite.com/samplecompany/feedback
http://mainwebsite.com/company/profile/samplecompany/services或 http://mainwebsite.com/samplecompany/services
http://mainwebsite.com/company/profile/samplecompany/contactus或 http://mainwebsite.com/samplecompany/contactus
where
samplecompany`是动态部分
是否可以以格式创建网站链接?
工作正常吗?
答案 0 :(得分:4)
我想可以使用htaccess和默认控制器来创建/获取http://mainwebsite.com/samplecompany。如果有人可以帮助htaccess规则,那将是非常棒的。我已经在使用htacess从CI中删除index.php但是无法正常工作。 给定用户/公司的其他页面很少,例如反馈,联系我们,服务等。因此我想到的实现链接形式为“http://mainwebsite.com/company/profile/samplecompany/feedback或http://mainwebsite.com/samplecompany/feedback
您可以使用routes完成此操作。例如,在您的/config/routes.php
文件中,输入:
$route['samplecompany'] = "company/profile/samplecompany";
$route['samplecompany/(:any)'] = "company/profiles/samplecompany/$1";
第一条规则告诉CodeIgniter,当某人访问http://mainwebsite.com/samplecompany时,它应该处理它,就像URL是“company / profile / samplecompany”一样。第二个规则捕获“samplecompany”之后的URI字符串中的任何内容,并将其追加到最后。
但是,如果您有多家公司(不仅仅是samplecompany),您可能希望扩展CI的路由器以支持此功能,除非您希望每次添加新公司时手动编辑配置文件。
好的,你肯定会想要处理动态公司名称(根据你的评论)。这有点棘手。我不能给你完整的代码,但我可以指出你正确的方向。
您需要扩展CI的路由器,并在传入请求中查询数据库以获取公司名称列表。如果URI细分与公司名称匹配,则您需要使用company/profile
方法进行投放。如果没有,您将忽略它并让CI正常处理它。有关详细信息,请查看有关此主题的帖子:forum link。
答案 1 :(得分:1)
以下是有关如何实现所需目标的精彩指南:Codeigniter Vanity URL's。