dreamedge.net

さくらのレンタルサーバのmephistoでコメントできない

2008-06-13T05:48:00+0000

普通にmephistoを設置すると,なぜか初回のコメント投稿を受け付けないという問題が生じます.

これははてなの質問にあるように,さくらのレンタル―バは勝手に拡張子を補完する癖があるみたいです.(なんで?) この機能が悪さをするため,.htaccess中に書かれたmod_rewriteの”RewriteCond %{REQUEST_FILENAME} !-f”の処理を通した際に不具合が生じてコメントができなくなる模様.

具体的には,/yyyy/mm/dd/permalink.htmlがあると,/yyyy/mm/dd/permalink/commentsにアクセスした際に,以上の仕組みが働きstatus 404が発生してPOST要求がGETにされてしまう.で,mephistoはコメント投稿はPOSTで受け付けるので,コメントが出来ないことに.

なので,commentsは-fを通さないように変更して回避する.以下のように,mod_rewrite関連の記述を変えて,コメント投稿時に拡張子の補完が働く前にdispatch.cgiに渡すように設定する.

RewriteBase /
RewriteRule ^$ index.html
RewriteCond %{REQUEST_URI} comments$
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]