rnote.phpの隠蔽

 Apache には、mod_rewrite という、要求されたurlをルールに従ってリアルタイムで書き換える事の出来る、非常に強力なモジュールがあります。
 rNote はhtmlの静的生成は出来ませんが、mod_rewrite の機能を利用する事で、rnote.php の隠蔽を行い、html が静的生成されてるように見せかけることが出来ます。
 rNoteを使用する上で絶対に必要という訳ではありませんが、各エントリを通常のhtmlファイルのように見せかけることが出来るというメリットがあり、また、これによりサーチエンジンに登録されやすくなります。

> http://your.site.jp/diary/20040101.htm

 上記のような url が要求された場合、以下のような url に変換し rnote.php が実行されます。

> http://your.site.jp/rnote.php?u=diary/20040101.htm

 設定方法ですが、以下のような内容を .htaccess に記述してください。
 ちなみに、行頭の数字は説明の為に付加したものであり、.htaccessに記述する必要はありません。

01: RedirectMatch 301 ^([^.]*[^/])$ $0/
02: DirectoryIndex rnote.php
03:
04: RewriteEngine on
05: RewriteRule ^(index\.html?)$ rnote.php [L]
06: RewriteRule ^(.+\.htm)$ rnote.php?u=$1&%{QUERY_STRING} [L]
07: RewriteRule ^(.+/)$ rnote.php?u=$1&%{QUERY_STRING} [L]

 1行目のRedirectMatchは、http://your.site.jp/diary というようなアドレスでアクセスされた時、http://your.site.jp/diary/ (最後に / を付加)へリダイレクトする設定です。
 (※参考記事:続・最後の「/」が省略される検索サイト対策

 2行目のDirectoryIndexは、例えば http://your.site.jp/ という url がアクセスされた時、通常であれば index.html が表示されますが、これを rnote.php が表示されるようにする設定です。
 もし、いきなり rNote が動作するのではなく、従来通り入り口ページとして index.html を表示させたい、という場合はこの設定は不要です。

 4行目以降が mod_rewrite の設定となります。

 5行目は http://your.site.jp/index.html 又は 同index.htm でアクセスされた時、rnote.php をオプション無しで起動するという設定です。入り口ページとしての index.html が存在する場合は不要です。

 6行目及び7行目は、.htm という拡張子、又はディレクトリ(最後が/で終わってる)の場合、rnote.php を実行させるという設定です。
 rNote の文書は拡張子 .htm でアクセス、mod_rewrite を通さずそのまま表示したい html ドキュメントは拡張子を .html にする…という使い分けを想定しています。

 アドレスが http://your.site.jp/~hoge/ という形式の方の場合は、以下のように RewriteBase の行を追加してみてください。

04: RewriteEngine on
05: RewriteBase /~hoge
06: RewriteRule ^(index\.html?)$ rnote.php [L]
07: RewriteRule ^(.+\.htm)$ rnote.php?u=$1&%{QUERY_STRING} [L]
08: RewriteRule ^(.+/)$ rnote.php?u=$1&%{QUERY_STRING} [L]

 なお、mod_rewrite 自体は非常に高機能なモジュールであり、記述方法を解説するとそれだけで本が一冊書けてしまう程ですので、申し訳ありませんが、細かい記述方法についてはここでは説明せず、他に譲りたいと思います。詳しい仕様が知りたい方は、各自で調べてみてください。


rNote

official support page

about

setup

outline

reference

tips

downloads

links

bbs

Copyright ©Woody-Rinn All rights reserved. http://rinn.e-site.jp/

Powered by rNote 0.9.7.5