-
Notifications
You must be signed in to change notification settings - Fork 0
html_anchor.rb
アンカーを「YYYYMMDD.html」「YYYYMM.html」形式に置き換える
tDiaryの各ページのURLは、「?date=YYYYMMDD」のような形式が標準です。しかし、このような明らかにCGI呼出しに見えるURLは、検索エンジンによってインデックスされにくいとされています。この形式を「YYYYMMDD.html」に変えることで、いかにも静的なHTMLであるかのように見せかけることができ、検索エンジンにひっかかる可能性が高くなります。
プラグインをインストールするだけで、アンカーの形式が「YYYYMMDD.html」になります。
しかし、Webサーバの設定を変えないと、これだけでは正しく呼び出せません。 Apacheを使う場合、以下の3つの方法が知られています。
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 のディレクトリは環境に応じて書き換える。
.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>
.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>
[セキュア可]