【问题标题】:globally change URL in CodeIgniter在 CodeIgniter 中全局更改 URL
【发布时间】:2021-02-26 15:24:10
【问题描述】:

我最近做了一个网站,其基本网址看起来像

www.example.com/myExample

我的控制器叫做 myExample。

但是我的老板要我把它改成

www.example.com/my_example

我假设这可以通过路由来完成,而不是重命名控制器文件?但我一直无法弄清楚如何。

赞赏任何方向。谢谢!

【问题讨论】:

    标签: codeigniter routes


    【解决方案1】:

    就像在 codeigniter 3 documentation 中一样。 在你的application/config/routes.php file

    $route['journals'] = 'blogs'; 
    

    在第一段中包含单词“journals”的 URL 将被重新映射到“blogs”类。

    所以你的情况可能是这样的

    $route['my_example'] = 'myExample';
    

    编辑:

    遵循路由规则应该适用于您的情况,但请理解这一点,正如评论中另一位用户提到的那样,您需要替换所有使用 myExample 控制器的链接,以便您的传入链接看起来像您的老板想要www.example.com/my_example/somethingelse/anotherpage。现在,您的路由规则将首先将控制器映射到 myExample,并将第一个和第二个 URI 段映射为 $1$2,不管是什么。

    $route['my_example/(:any)/(:any)'] = 'myExample/$1/$2';
    

    【讨论】:

    • 这样仅适用于主页,但如果我有另一个页面 www.example.com/myExample/somethingelse/anotherpage 有没有办法将它作为 www.example.com/my_example/其他/另一页?
    • @xanabobana 是的,您可以映射任何您想要的路线,甚至可以映射动态路线。只需阅读我在答案中包含的文档链接即可。
    • 我阅读了文档,但我不明白。我尝试使用: $route['my_example/(:num)'] = 'myExample/$1';映射所有路线,但这不起作用。
    • @OmarAbbas 您需要将站点上的所有内部链接修改为新的 URI 段架构。 (或者说服老板这次改名不是个好主意。)
    猜你喜欢
    • 2013-04-27
    • 1970-01-01
    • 2018-03-02
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多