a-blog cmsでphpのプログラムを実行させる方法
簡単な話ですが、config.server.php にプログラムを追記する事で、phpのプログラムを実行する事ができるようになります。先日の a-blog cms の勉強会の際に、http と https の振り分けをするプログラムを自分で用意したいという話を聞き、その際にはモジュールを作って埋め込む事で対応するような話をしましたが、もっとお手軽に config.server.php にプログラムを追記する事もできます。
例えば、ココのブログでは以下のように書いてあります。
<?php if ($_GET['ID']) { $url = "http://".$_SERVER['SERVER_NAME']; $url = sprintf("%s/entry-%d.html",$url,$_GET['ID']); header ('HTTP/1.1 301 Moved Permanently'); header( "Status: 301 Moved Permanently" ); header("location: $url"); exit; } define('DOMAIN', 'kazumich.com'); ... (以下略)
以前、a-blog で運用されていましたので、https://kazumich.com/index.php?ID=5252 のようなリンクがあった時にURLを変換している処理になります。
if ( $_SERVER['REMOTE_ADDR'] == '**特定のIPを指定**' ) { define('DEBUG_MODE', 1); } else { define('DEBUG_MODE', 0); }
こんな記述を最後のデバッグモードの指定にする事で、一般に公開している時にはデバッグモードをOFF(0)にしているが、公開しているサイトのメンテナンスをしている時にキャッシュが効かないようにしたいという事で、自社のネットワークからだけデバッグモードをオン(1)にするような事を書いて作業するような事もあります。こうすると管理画面上にキャッシュを削除するモジュールが動かなくなるので普段からの設定というよりは一時的な運用で利用下さい。
今回の方法は、config.system.php を読み込んだ際にphpを実行するという事になるので、プログラム的にはDBにも接続する前の段階になります。実行タイミングをご理解頂き、使えるところでご利用下さい。
自分でモジュールを作ってみたいという場合の参考エントリーです
- a-blog cmsのモジュールの書き方 その1 − kazumich.log
- a-blog cmsのモジュールの書き方 その2 − kazumich.log
- a-blog cmsのモジュールの書き方 その3 − kazumich.log