【问题标题】:Managing URLs in a standard way in Codeigniter-HMVC project在 Codeigniter-HMVC 项目中以标准方式管理 URL
【发布时间】:2018-08-01 22:45:53
【问题描述】:

我已经在 codeigniter-HMVC 中开发了项目,现在我想以标准方式管理 url。

我当前的网址:

http://xyz/home/contactus
http://xyz/home/aboutus
....
....

我想要:

http://xyz/contactus
http://xyz/aboutus
....
....

我正在使用 HMVC codeigniter 结构。

【问题讨论】:

标签: php codeigniter codeigniter-2 codeigniter-3


【解决方案1】:

在你的 route.php 文件中你可以像这样重定向

$route['xyz/contactus'] = "xyz/home/contactus";

【讨论】:

  • 在我提到的网址中,“xyz”将是域名..我正在使用 CI 的 HMVC 结构..我试过.. $route['contact-us'] = "home/home/联系我们”; & 也试过了.. $route['contact-us'] = "home/contactus";但它不起作用?
【解决方案2】:

您可以在routes.php中定义自定义路由

$route['contact-us'] = "home/home/contactus";
          ^              ^     ^        ^
        New URL      module  Controller  Method

在 URL 中调用 xyz/contact-us' 可以正常工作

Read more about CodeIgniter route

【讨论】:

  • 在我提到的网址中,“xyz”将是域名..我正在使用 CI 的 HMVC 结构..我试过.. $route['contact-us'] = "home/home/联系我们”; & 也试过了.. $route['contact-us'] = "home/contactus";但它不起作用?
  • xyz.com/home/contactus 是否点击了您的页面?
  • $route['contact-us'] = "home/contactus"; 这应该可以工作
  • 它在 MVC 结构中工作 f9,但在 HMVC 结构中同样不工作。有什么想法吗?
【解决方案3】:

[project-folder]/application/config/routes.php编辑routes.php

要将 URI 作为虚拟控制器和虚拟方法路由,您可以使用选项路由来实现。路由 URI 的主要用途是使 url 漂亮,并停止向用户显示主控制器,并且可以通过路由获得方法名称。

语法

$route['dummy-controller/dummy-method'] = 'main_controller/main_method';

示例

$route['contact-us']='index.php/home/contactus';

【讨论】:

  • 在我提到的网址中,“xyz”将是域名..我正在使用 CI 的 HMVC 结构..我试过.. $route['contact-us'] = "home/home/联系我们”; & 也试过了.. $route['contact-us'] = "home/contactus";但它不起作用?
  • 我可以看看你的routes.php 文件吗,我可以帮你。
  • $route['default_controller'] = 'home'; $route['404_override'] = ''; $route['translate_uri_dashes'] = 假; $route['contact-us'] = "home/home/contactus";
  • 一切顺利@Amita
猜你喜欢
  • 1970-01-01
  • 2016-04-19
  • 2012-04-18
  • 2011-03-17
  • 2018-09-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
相关资源
最近更新 更多