duanliu8998 2013-04-07 14:36
浏览 45
已采纳

如何在codeigniter中创建链接?

sorry I do not speak good English, use translator. How can I create links in codeigniter?

What if I want to use permalinks after?

I would have to change the whole system code every time you make a change in permalinks?

Is there a library that manufactures the links from these arguments and behave as configured dynamically?

For example if I want to change the system directory from:

http://testing/webapp/index.php

to:

http://production/index.php

Do I need to change all the code? What is the best practice for this?

  • 写回答

2条回答 默认 最新

  • drde3456 2013-04-07 14:44
    关注

    You can use codeingiter's methods base_url() and site_url().

    At first, you need to load the URL helper in your controller:

    $this->load->helper('url');
    

    See their definitions below (According to CI documentation, http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html)


    site_url()

    Returns your site URL, as specified in your config file. The index.php file (or whatever you have set as your site index_page in your config file) will be added to the URL, as will any URI segments you pass to the function, and the url_suffix as set in your config file.

    You are encouraged to use this function any time you need to generate a local URL so that your pages become more portable in the event your URL changes.

    Segments can be optionally passed to the function as a string or an array. Here is a string example:

    echo site_url("news/local/123"); The above example would return something like:

    http://example.com/index.php/news/local/123
    

    Here is an example of segments passed as an array:

    $segments = array('news', 'local', '123');
    
    echo site_url($segments);
    

    base_url()

    Returns your site base URL, as specified in your config file. Example:

    echo base_url();
    

    This function returns the same thing as site_url, without the index_page or url_suffix being appended.

    Also like site_url, you can supply segments as a string or an array. Here is a string example:

    echo base_url("blog/post/123");
    

    The above example would return something like:

    http://example.com/blog/post/123
    

    This is useful because unlike site_url(), you can supply a string to a file, such as an image or stylesheet. For example:

    echo base_url("/_user_guide_src_ci/images/icons/edit.png");
    

    This would give you something like:

    http://example.com/images/icons/edit.png
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同