【问题标题】:An unwelcomed url is working in CodeIgniter一个不受欢迎的 url 在 CodeIgniter 中工作
【发布时间】:2012-06-19 13:45:38
【问题描述】:

我的问题是一个不受欢迎的 url 像 www.domain.com/0 一样工作并向我显示主页。

此外,页面 subdomain.domain.com/0 也可以像子页面一样工作。

我正在使用 codeigniter。我检查了 routes.php 并没有与零相关的内容。跟CI有关系吗? 0后缀有什么问题?

【问题讨论】:

  • 检查您的.htaccess 文件,如果没有您的主控制器的一些代码,则很难分辨..
  • 我不会把这个作为答案,因为我不是 100% 确定第二部分。但是从 CI 开始,我们知道这一点。 www.domain.com 真的是 www.domain.com/default_controller 这真的是 www.domain.com/default_controller/index 在末尾添加一个 0 意味着在 default_controller 中调用 index(0) 如果我没记错的话它在 PHP 中是有效的,即使函数被简单地定义为 @987654327 @。希望有更好知识的人可以证实这一点或教我一些东西。

标签: codeigniter routes dns subdomain zero


【解决方案1】:

这是因为0 是一个空值。 Codeigniter 检查 uri 是否为空。如果为空,则加载默认控制器。

真正的问题是,这对你有什么影响?

$uri = '0';
if (empty($uri))
    echo 'Oh my! Lets load default controller!';

【讨论】:

  • 好像不太好。是否可以将其删除或更改核心中的零设置?
  • /0 可访问对任何人有什么影响?您没有引用该网址,也没有访问者会注意到它。如果必须的话,我想您可以发送$route['0'] = 'errorz'
  • 实际上以零结尾的页面正在被服务器索引。所以会发生重复。我认为这是一个问题。
  • 如果您担心蜘蛛,if ($this->uri->segment(1) === '0') redirect(trim(current_url(), '0/'), 'location', '301'); 会为您提供帮助。
  • 好的,它似乎会有所帮助。但是我应该在哪里运行这段代码?我是说在哪个班?因为我要在每个子域和基域中使用它。
猜你喜欢
  • 2021-02-20
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
  • 2020-10-16
  • 1970-01-01
  • 2017-05-30
  • 2020-05-05
相关资源
最近更新 更多