将所有访问 Codigniter 构建网站的访问者路由到特定的控制器和方法

Posted

技术标签:

【中文标题】将所有访问 Codigniter 构建网站的访问者路由到特定的控制器和方法【英文标题】:Route all visitors to Codigniter Built Website to specific controller and method 【发布时间】:2011-08-10 16:17:47 【问题描述】:

我有一个基于 codeigniter 构建的网站,我想暂时关闭该网站以进行更改。我想通过创建一个批准的 IP 地址白名单来实现这一点,这些 IP 地址可以在我进行升级时访问常规网站,并且所有其他用户将被路由到一个临时页面。处理这个问题的好策略是什么?也许使用路由类的东西?

    $whitelist = array('99.999.999.999', '555.555.555.555');
if(!in_array($_SERVER['HTTP_X_REAL_IP'], $whitelist))
    $route['(:any)'] = 'maintenance/index/';

我也不想破坏我的搜索引擎索引,所以我应该发送一个特定的标头来表明这是一个临时更改吗?

【问题讨论】:

【参考方案1】:

我认为你正在考虑的 routes.php 更改是正确的。服务器应使用 503 响应代码。这将告诉搜索引擎您暂时停机进行维护,并且他们不应该索引这些页面。

【讨论】:

【参考方案2】:

另一种选择是在 MY_Controller 扩展中执行类似的操作。

此处为 Phil 的公共控制器中的示例: http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY

【讨论】:

以上是关于将所有访问 Codigniter 构建网站的访问者路由到特定的控制器和方法的主要内容,如果未能解决你的问题,请参考以下文章

构建及访问Web站点

清除cookie并强制每次用户访问网站时登录?

python构建模拟模型——网站独立访问用户数量

APache网站服务配置访问控制和构建虚拟主机

如何收集网站访问者的签名?

Linux的构建及访问FTP站点