【问题标题】:codeigniter controller not being called due to directory with same name由于具有相同名称的目录,未调用 codeigniter 控制器
【发布时间】:2013-12-03 21:55:25
【问题描述】:

如果可能的话,我想避免重命名目录或方法名称,这是在移动到新主机之前在以前的服务器上运行的。

我的目录结构如下:

  • /杂志
  • /网站
  • /站点/配置
  • /site/config/routes.php(路由包含条目:$route["magazine"] = "site/magazine")
  • /站点/控制器
  • /site/controllers/site.php(站点控制器包含方法“杂志”)
  • /站点/模型
  • /site/views
  • /.htaccess
  • /index.php

在我浏览到 /magazine 之前,该站点的所有内容都运行良好,并且当我需要它转到站点控制器中的杂志方法时,它会尝试转到杂志目录。

非常感谢任何帮助。

谢谢! 迈克

【问题讨论】:

  • 看不懂你的问题,能否详细说明最后一句。
  • 当我使用网络浏览器访问 mydomain.com/magazine 时,它​​会转到实际的杂志目录,而不是我的站点控制器中的杂志方法。

标签: php .htaccess codeigniter controller directory


【解决方案1】:

在您的 htaccess 文件中,您可能有如下内容:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

尝试为“杂志”添加附加规则:

RewriteRule ^magazine/?$ index.php/magazine [L]

【讨论】:

  • 是的,我有你的建议,虽然没有检查目录。我是否需要另一个专门用于杂志的 RewriteCond?
  • @MikeJouwstra 你不需要任何条件,因为它一个目录,除非你希望它通过 index.php
猜你喜欢
  • 1970-01-01
  • 2012-11-01
  • 2012-11-04
  • 2015-03-12
  • 2014-10-07
  • 1970-01-01
  • 2016-05-10
  • 2015-08-01
  • 2017-03-08
相关资源
最近更新 更多