Symfoware

Symfowareについての考察blog

CodeIgniter 3 メンテナンスや移転ページの簡単な設置方法

CodeIgniter 3を使用しているwebサイトで、メンテナンス中の表示や、
サイトの移転ページの表示に簡単に切り替えられないか調べてみます。


Hook



CodeIgniterで簡単メンテナンスモード

こちらのページを参考にさせていただきました。
Hookを使用して、別のページを表示させます。


Hookについては以前調べたことがあります。
CodeIgniter 3 処理のフック(General Topics - Hooks - Extending the Framework Core)



まず、設定ファイルを変更しHookを有効にします。

・application/config/config.php

enable_hooksをtrueに変更。


  1. /*
  2. |--------------------------------------------------------------------------
  3. | Enable/Disable System Hooks
  4. |--------------------------------------------------------------------------
  5. |
  6. | If you would like to use the 'hooks' feature you must enable it by
  7. | setting this variable to TRUE (boolean). See the user guide for details.
  8. |
  9. */
  10. $config['enable_hooks'] = TRUE;






最初に処理されるpre_systemに、呼び出す関数の指定を追加。

・application/config/hook.php


  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. /*
  4. | -------------------------------------------------------------------------
  5. | Hooks
  6. | -------------------------------------------------------------------------
  7. | This file lets you define "hooks" to extend CI without hacking the core
  8. | files. Please see the user guide for info:
  9. |
  10. |    https://codeigniter.com/user_guide/general/hooks.html
  11. |
  12. */
  13. $hook['pre_system'][] = array(
  14.     'class' => '',
  15.     'function' => 'dummy',
  16.     'filename' => 'move.php',
  17.     'filepath' => 'hooks'
  18. );





呼び出すmove.phpでhtmlの表示まで行ってしまう作戦です。
呼び出すfunctionは存在しない名前でOKでした。



メンテナンス、移転ページを表示するファイルを配置します。


・application/hooks/move.php


  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
  6. <title>URL変更</title>
  7. </head>
  8. <body>
  9. 移転しました。<br>
  10. (move.phpで表示)
  11. </body>
  12. </html>
  13. <?php
  14. // exitで処理を終了させないと、コントローラーの呼び出しが実行されてしまう
  15. exit();






表示



こんな感じで、どのURLでもmove.phpの内容が表示されるようになりました。

732_01.png



関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2017/03/16(木) 22:41:02|
  2. PHP
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<FreeBSD 11.0-RELEASEを仮想環境(UbuntuのKVM)にインストール | ホーム | CodeIgniter 3 自分で作成したモデルを継承する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1961-a85a424b
この記事にトラックバックする(FC2ブログユーザー)