2013年1月 : してログ

キャッシュファイル処理などでよく使う手法で、mod_rewrite を使い実ファイルが存在していればそれを表示し、まだ作成されていなかったらスクリプトを動かしてレスポンスを返しつつファイルを保存する、という常套手段があります。それを実現するには、下記のようにしますが、少し盲点があります。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+\.html)$ /_system/doc.php?d=$1
RewriteRule ^(.+\.htm)$ /_system/doc.php?d=$1

一行目の指定は、実ファイルがあれば RewriteRule を適用しない、という意味になりますが、これは直後の RewriteRule にしか効かないため、三行目の指定は実ファイルがあってもスクリプトが常に動くことになります。三行目も同様にしたい場合は、下記のように書きます。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+\.html)$ /_system/doc.php?d=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+\.htm)$ /_system/doc.php?d=$1

分かっていないと「何で~」と悩むに違いない盲点です。

Open Web Analytics は、PHP と MySQL で作られたオープンソースのアクセス解析システムです。画面は、Google Analytics にそっくりで、ぱっと見たら見分けがつかないくらいよく似ています。

Open Web Analytics
http://www.openwebanalytics.com/

インストールは、MySQL のデータベースを作り、サイトに展開した OWA の install.php を実行すれば、後は指示に従うだけとなります。インストール後は、Google Analytics と同じような JavaScript をコントロールパネルから発行でき、解析したいウェブサイトに埋め込むことで解析が始まります。また、埋込み用 PHP コードもあり、もっと細かく制御することが可能です。

機能的には Google Analytics の代わりとして十分であり、代替えの選択肢となり得ます。

制作中の当ブログにコメント機能を追加しました。コメント機能はブログとは独立した実装にして、他の一般ページでも利用できるように工夫してあります。当サイトのCMSも同時並行で開発していますが、ドキュメントやシステムのリリース時に、ひとつタグを入れるだけでコメント欄を付加することができます。

トラックバックについては必要性が感じられないことから、しばらくは実装しません。仕組みとしはコメントとほぼ同じで、POSTデータを外部から受け取れるようにするだけです。コメントシステムと統合しても良いと思います。

あと、ソーシャル系ボタンをコメント欄に移動しました。Facebook は URL パラメータがあるので、リクエストされた URL を与えています。Twitter と Google+ はそれをボタン側で行うようなので、どのページに設置してもコードを変更しなくて良いようです。ただ、デフォルトドキュメントが省略された場合と、指定された場合でカウントがどうなるのかちょっと分からないです。これらボタンは、最近のトレンドなので入れただけで、自分ではまず使わない機能なんですけどね...。


あけましておめでとうございます。

今、個人的に極小期なので、冬に入ってから何も活動しておりません。正月らしい画がなくて10月の海岸で撮ったボツ作品を使ってみました。しばらくは、こんな状況が続きますが、忘れられないようにときどきアップして行きます。

なお、ここは写真(HDR)専用にしたいと思います。PC・ネット関係、IT技術関連は新しく作った「してログ(仮称)」のほうに投稿して行きます。ご興味ございましたら、フォローお願いします。内容については、ネット全般、PHPを中心とした開発、PostgreSQLを中心としたデータベース、などの話題になります。また、そのブログは開発中なので、まだコメントの投稿ができません。正月中にできるようにしたいと思います。

してログ(仮称) : LANDHERE Web site log
http://landhere.jp/blog/

10/4 新潟市中央区
Canon PowerShot S100
HDR JPG×3→PhotomatixTpzAdjustPhotoshop
Tags #夕陽 #海 #大気光学現象 #薄明光線
※この記事は「Yahoo!ブログ - HDRp」からの転載です

自前で作ったRSSフィードのライブラリがあるけど、今回ATOMで行きたかったのでググったら最初に出てきたのが、FeedWriter.php。ダウンロードしてサンプルを少し弄って、確認いっぱつ目で完成、というお手軽さでした。こうでなくっちゃ。

PHP Universal Feed Generator (supports RSS 1.0, RSS 2.0 and ATOM)
http://ajaxray.com/blog/php-universal-feed-generator-supports-rss-10-rss-20-and-atom

ということで、このブログ、めでたくフィード配信しはじめました。登録よろ。

このブログもだいぶマトモになってきました。ブログは過去に何度か開発しているので、別に躓くところとかは無いんですが、今どきのネット事情を考えると悩んでしまうことも多いです。

まず、トラックバック。これ、ブログの象徴的な機能なだけに入れなかったらブログじゃないじゃん、って思われそうだけど、自分ではまず使わない機能であり、スパムの温床であったり、正直オミットしたいところです。まぁ、入れるとしてもいちばん最後にしよう。

そしてちょうど今しがた作り終えたカレンダーインターフェイスです。作るの結構面倒だし、ボットさんに配慮しないと、えらいことになりそう。ってか、そのせいで半完成のままなんですが。どういうことかと言うと、前の月や前の年、前日や翌日のインターフェイスを付けたとすると、記事がないページが大量にあるように見えてしまうからです。もし、Google さんのボットなんかがやってきたら、延々とカレンダーを遡ってしまうばかりか、サーバーでキャッシュを作成していたとしたら、大量のファイルを残して去っていく事になりかねはしないか、ということ。

はい次、コメントシステムを構築しま~す。