首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用htaccess的Codeigniter中的自定义URL

使用htaccess的Codeigniter中的自定义URL
EN

Stack Overflow用户
提问于 2011-05-25 19:03:44
回答 2查看 1.2K关注 0票数 1

我正在开发一个关于Codeigniter 2.0.2的网站。在这个网站上,公司/用户可以注册并创建自己的个人资料页面,有自己的自定义url(如http://facebook.com/demouser),有自己的反馈系统,显示自己的服务。

这就是说,我已经成功地以下列格式显示了配置文件页

http://mainwebsite.com/company/profile/samplecompany --它显示公司samplecompany的主页,其中公司是控制器,而配置文件是方法。

现在我有几个问题,

  1. 我想使用htaccess和默认控制器创建/获取http://mainwebsite.com/samplecompany是可能的。如果有人能帮忙执行htaccess规则,那就太棒了。我已经使用htacess从CI中删除index.php,但无法实现此工作。
  2. 对于给定的用户/公司,几乎没有其他页面,例如反馈、联系我们、服务等。因此,我想到的实现链接是表单` http://mainwebsite.com/company/profile/samplecompany/feedbackhttp://mainwebsite.com/samplecompany/feedback

http://mainwebsite.com/company/profile/samplecompany/serviceshttp://mainwebsite.com/samplecompany/services

http://mainwebsite.com/company/profile/samplecompany/contactushttp://mainwebsite.com/samplecompany/contactus

wheresamplecompany` `动态部分是否可以以这种格式创建站点链接?

  1. 我理解对给定域使用一个记录,我可以指出一个域,比如,http://www.samplecompany.comhttp://mainwebsite.com/company/profile/samplecompany,所以输入http://www.samplecompany.com就应该带他去http://mainwebsite.com/company/profile/samplecompany。如果成功地实现了这一点,http://www.samplecompany.com/feedback http://www.samplecompany.com/services http://www.samplecompany.com/contactus会吗?

工作正确吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-25 19:20:17

我想使用htaccess和默认控制器创建/获取http://mainwebsite.com/samplecompany是可能的。如果有人能帮忙执行htaccess规则,那就太棒了。我已经使用htacess从CI中删除index.php,但无法实现此工作。对于给定的用户/公司,几乎没有其他页面,例如反馈、联系我们、服务等。因此,我想到的实现链接是表单` http://mainwebsite.com/company/profile/samplecompany/feedbackhttp://mainwebsite.com/samplecompany/feedback

您可以使用路线完成这一任务。例如,在您的/config/routes.php文件中,放置以下内容:

代码语言:javascript
复制
$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正常处理它。想了解更多信息,请查看这篇关于这个主题的文章:论坛链接

票数 4
EN

Stack Overflow用户

发布于 2012-05-15 12:24:59

这里有一个关于如何实现所需内容的很好的指南:Codeigniter虚荣网址

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6129471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档