コンピュータ/ソフトウェア関連Tips

本文へ

tDiaryのトップURLをリクエストしたときに特定のページを表示する

更新: 2013年06月08日(土) 13:12
公開: 2013年06月08日(土) 13:08

以前、tDiaryのフォーラムに尋ねた案件。新規記事登録時のデフォルト操作を犠牲にすることにより解決したかも。

.htaccessを

DirectoryIndex index.rb?date=20121108 index.rb index.html

RewriteRule ^index\.html$ /index.rb?date=20121108 [L]

のようにする。これで、http://hoge.example.co.jp/あるいは、http://hoge.example.co.jp/index.htmlをリクエストしたときに、date=20121108のページが表示される。この.htaccessがあるディレクトリにサブディレクトリがあって、そこにコンテンツがある場合は、

DirectoryIndex index.html

とか、

DirectoryIndex index.rb index.html

のように設定しなすことを忘れないこと。

2012.11.12 追記。これはダメダメ。index.rb?blogcategory=hogehogeを処理できない。 DirectoryIndexは、

DirectoryIndex index.rb index.html

に戻し、

RewriteRule ^index\.html$ /index.rb?date=20121108 [L]

は、生かして、他のRewriteRuleのあと(最後)に、

RewriteCond %{QUERY_STRING} !blogcategory=.+$
RewriteRule ^$ /index.rb?date=20121108

にして様子見。(最後のRewriteRuleなので、[L]は不要。)

犠牲というのは、新規記事を追加するときに、

http://example.com/update.rb?edit=true;year=2013;month=6;day=17

のように、明示的に日付を指定しなければならないこと。update.rbだけでは、同じ日に複数エントリーを作成しようとすると、直前のエントリーのタイトルがフォームに入力されてしまう。

入力済の最新記事を編集モードにして、最後の、day=17をday=18にしてやれば、新規記事を入力できる。自分にとってはこれでOK。

Tags: tDiary

© Someone in the TERRA

編集