【问题标题】:Codeigniter URL Redirect WITHOUT adding index.phpCodeigniter URL 重定向而不添加 index.php
【发布时间】:2012-03-18 13:26:18
【问题描述】:

我正在一个带有几个控制器的站点上工作,并已将我的服务器配置为使用 apache 配置中的一些简单的正则表达式匹配将 http://www.host.com/controller/function/params 的请求重定向到http://www.host.com/index.php/controller/function/params。现在,我试图让我的一个控制器重定向到另一个控制器,但没有将 index.php 添加到 URL,这就是 redirect() 函数所做的。在codeigniter中是否有一种简单的方法可以做到这一点?先谢谢了!

【问题讨论】:

    标签: apache codeigniter redirect


    【解决方案1】:

    我用过 $config['index_page'] = ''; 成功了。

    【讨论】:

      【解决方案2】:

      您可以使用redirect。如果它被配置为您的索引页,它只会添加index.php

      因此,请检查您的 index_page 配置。它应该是一个空字符串:

      $config['index_page'] = '';
      

      文件:app/config/config.php

      更多信息:http://www.codeigniter.com/user_guide/general/urls.html?highlight=mod_rewrite [更新版本]

      【讨论】:

      • 顺便问一下,这个配置参数是否会影响 codeigniter 中的其他任何内容,还是仅用于重定向?
      • 如果影响了几个 URL 相关的功能,例如site_url()(顺便说一句,redirect 使用了)
      • 谢谢!真正简单的解决方案。
      • 谢谢,如此简单,按预期进行。
      • 为我工作谢谢
      【解决方案3】:

      您需要在基于 codeignitor 的项目的根文件夹中添加另一个 .htaccess,并在其中编写一些重定向规则,如下例所示:

      RewriteEngine On
      RewriteBase /codeignitortest/
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule (.*) index.php?$1 [QSA,L]
      

      或者可以在 application/config/config.php 中做如下

      $config['index_page'] = 'index.php';到 $config['index_page'] = '';

      【讨论】:

        猜你喜欢
        • 2014-01-14
        • 1970-01-01
        • 2015-03-19
        • 1970-01-01
        • 2011-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-14
        相关资源
        最近更新 更多