【问题标题】:How to separate same directory - controller name in Codigniter如何在 Codeigniter 中分隔同一目录 - 控制器名称
【发布时间】:2015-07-18 03:11:31
【问题描述】:

我有一个名为 course 的控制器和一个同名的目录,当我请求时

我的网站/课程

它将我重定向到目录课程而不是控制器,我如何重定向到控制器
P.S 在我的应用中保持同名目录是非常有必要的

【问题讨论】:

  • 一个控制器有两个名字?请把你的问题说清楚
  • 请说得清楚一点!
  • @ShaifulIslam 只有一个控制器同名目录

标签: .htaccess codeigniter routing directory codeigniter-url


【解决方案1】:

目录是否需要在根文件夹中,不能在层次结构的更下方吗?通过在根目录中有一个与您的控制器同名的目录,您的 Web 服务器将提供该目录而不是普通的 CodeIgniter 路由。

如果绝对必须将文件夹放在根目录中,那么您需要更改 .htaccess 文件以忽略与该目录的目录名称匹配的请求(以及与控制器名称匹配的任何其他请求)。

已经有一个answer for this,以及Drupal website 上的一个很好的例子,我把它放在下面以防它被移动

=========[ start of .htaccess snippet]==========
<IfModule mod_rewrite.c>
    RewriteEngine on
    #
    RewriteCond %{REQUEST_URI} !^/yourDirectoryName
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [L,QSA]
</IfModule>
====================[ end ]=====================

【讨论】:

  • 感谢 @gabe3886 的帮助我尝试了这个 [stackoverflow.com/questions/13837538/… 中的解决方案,但它没有帮助我的 .htaccess 文件内容 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] 我在我的文件夹中创建了一个新的 .htaccess想忽略并把RewriteEngine Off放在里面
【解决方案2】:

还有nativ Ci路由。

在 config/routes.php 中

$route['course'] = '控制器/课程';

  • 默认路由之后

【讨论】:

    猜你喜欢
    • 2013-11-06
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    相关资源
    最近更新 更多