Create  Edit  Diff  FrontPage  Index  Search  Changes  History  Source  RSS  Login

html_anchor.rb

概要

アンカーを「YYYYMMDD.html」「YYYYMM.html」形式に置き換える

tDiaryの各ページのURLは、「?date=YYYYMMDD」のような形式が標準です。しかし、このような明らかにCGI呼出しに見えるURLは、検索エンジンによってインデックスされにくいとされています。この形式を「YYYYMMDD.html」に変えることで、いかにも静的なHTMLであるかのように見せかけることができ、検索エンジンにひっかかる可能性が高くなります。

使い方

プラグインをインストールするだけで、アンカーの形式が「YYYYMMDD.html」になります。

しかし、Webサーバの設定を変えないと、これだけでは正しく呼び出せません。 Apacheを使う場合、以下の3つの方法が知られています。

mod_rewriteと合わせて利用する(推奨)
Apacheのモジュールであるmod_rewriteがインストールされている必要がある。httpd.confで、以下のように設定します。「/home/httpd/html/diary/index.rb」の部分は、自分の環境に合わせて書き換えて下さい。
RewriteEngine on
RewriteRule ^/diary/([0-9\-]+)\.html$ /home/httpd/html/diary/index.rb?date=$1
.htaccessで設定する場合は
RewriteEngine on
RewriteBase /diary
RewriteRule ^([0-9\-]+)\.html$ index.rb?date=$1
RewriteBase? のディレクトリは環境に応じて書き換える。
ErrorDocumentを利用する
.htaccessに以下の設定を追加する(your_URL_of_index.rbはあなたの日記のindex.rbのURLに)。ただしこの手法は、Webサーバのエラーログが膨れ上がるので、推奨できません。上のmod_rewriteが使えない場合のみの最終手段です。
<Files ~ "^([0-9]{4}|[0-9]{6}|[0-9]{8}|[0-9]{8}-[0-9]+).html$">
ErrorDocument 404 your_URL_of_index.rb
</Files>
Actionを利用する
.htaccessに以下の設定を追加する(your_URL_of_index.rbはあなたの日記のindex.rbのURLに)。ErrorDocumentを利用する場合と異なり、エラーログに無駄なログが表示されない利点があります。欠点は yyyymmdd.html 形式の静的な HTML ファイルを表示できなくなることです(通常の使用では問題になりません)。
<Files ~ "^([0-9]{4}|[0-9]{6}|[0-9]{8}|[0-9]{8}-[0-9]+).html$">
Action text/html your_URL_of_index.rb
</Files>

備考

[セキュア可]

その他

Last modified:2013/10/30 02:22:58
Keyword(s):
References:[XHTML版 html_anchor.rb]