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

时间:2011-08-10 16:17:48

标签: php codeigniter seo maintenance

我有一个建立在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/';

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

2 个答案:

答案 0 :(得分:1)

我认为你正在沿着正确的道路走下去。你想到的是路线改变。服务器应使用503响应代码。这将告诉搜索引擎您暂时停止维护,并且他们不应该索引页面。

答案 1 :(得分:1)

另一种选择是在MY_Controller扩展中做类似的事情。

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