Studencheskie Programmisty

Page 1 of 1: 1

サーバー障害でしばらく繋がらなくなっていました

May 24, 2010

どうやらusamimi.infoのサーバーに大規模な障害があったようで、2〜3日繋がらなかったようです。データは無事なようなので一安心。それにしても個人運営なのに早い復旧で助かります。テスト期間なので今日はこの辺で。

    mod_rewriteでblosxom.cgiを隠そうとしたことのまとめ

    Dec 24, 2009

    blosxom.org: URLからCGIのファイル名を隠すを見て、このブログでもやってみようと思ったわけです。

    具体的には、http://nodaguti.usamimi.info/blosxom/ にアクセスすれば http://nodaguti.usamimi.info/cgi-bin/blosxom/blosxom.cgi/ を表示するようにするために、まず最初に

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^blosxom(.*)$ /cgi-bin/blosxom/blosxom.cgi$1 [L,QSA]
    

    と書いてみた。 しかし、これだと http://nodaguti.usamimi.info/blosxom/other/ のようにカテゴリごとや年・月ごとの表示はうまくいくものの、 http://nodaguti.usamimi.info/blosxom/other/guide.htm のように個々の記事へアクセスしようとするとなぜか500になってしまう。

    その後いろいろ調査した結果、どうやら blosxom.cgi/〜 のような.cgiを含むURLを書き換えるのがうまくいかないようだった。(http://nodaguti.usamimi.info/index.htmlとかの普通のページへの書き換えはうまくいく)
    なので、書き換えじゃなくてリダイレクトだとなぜかうまくいくので、今は以下のようにしてしのいでる。

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^blosxom(.*)\.(.*)$ http://nodaguti.usamimi.info/cgi-bin/blosxom/blosxom.cgi$1.$2 [L,QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^blosxom(.*)$ /cgi-bin/blosxom/blosxom.cgi$1 [L,QSA]
    

    でもこれだとリダイレクトはされるかわりにロケーションバーに長いほうのURLが表示されちゃうんだよね...
    できれば短いhttp://nodaguti.usamimi.info/blosxom/カテゴリ名/記事名.htmの方でリンクして欲しい。

    追記(2009/12/27)。結局、blosxom.cgiを隠すのは諦めて、せめてcgi-binディレクトリを隠すだけで妥協することにした。すなわち、

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^blosxom(.*)$ /cgi-bin/blosxom$1 [L,QSA]
    

    こんな感じ。

      トラックバックとコメント欄を動くようにした

      Dec 18, 2009

      動いてなかったコメント欄を動くようにした。トラックバックもテストしてないけどたぶん動くだろう。

      なぜかコメントを送信すると 500 が返ってくる。しかも、エラーが返ってくるのにきちんと書き込めてる。なんで?

      追記。どうやら新規投稿があった時にメールを送る処理でエラーが起きているようだ。とりあえず無効にしてしのいでみる。