注:このページの情報は、断片的かつ不完全なものです。
さくらのスタンダードでphpを利用してサイト運営している場合はさくらのスタンダードで404ページを作成(最終版)も併せてお読み下さい

サイト内関連ページ

 

以下本文

最近さくらのVPSの話題を続けていたけれど、今回はさくらのスタンダードのお話。

何がどうなっているのか解らないけれど、このサイト(tvbok.com)でようやく普通に
「.htaccess に ErrorDocument 404 を記述して」エラーページの作成ができた。

以下、.htaccessに記載したディレクティブ

ErrorDocument 403http://tvbok.com/403.html
ErrorDocument 503 http://tvbok.com/503.html
ErrorDocument 404 http://tvbok.com/404.html

さくらのレンタルサーバーで、ディレクトリ毎に別ドメインを割り当てていると「エラーページをhttp://から記述しないと上手く作動しない」ってのは解っていたんだけど、今まではそれでも上手く作動してくれなかった。

ちなみに、作動しなかったディレクティブ

ErrorDocument 404http://tvbok.com/404.html
ErrorDocument 503 http://tvbok.com/503.html
ErrorDocument 403 http://tvbok.com/403.html

順序が違うだけ。。。
こんな程度で上手く動く・動かないがあるなんて信じられないけれど、、、

上のディレクティブでは作動し、下のディレクティブでは作動しないのは事実。
なんでだろう。。。

今までの悪戦苦闘

上記リンクを読み返し、過去の悪戦苦闘を振り返ってみる。

やっぱり、何故 今になって作動してくれるのかよく解らない。。。

上記の頃はErrorDocument でジャンプさせると500エラーが出て使い物にならなかった。
何故、今は普通に作動するのか全く持って謎。。。

ディレクティブのスペルミスとか考えられないし、なんだろ、これ。。。

ErrorDocument以外の記述で404ページへジャンプ

ちなみにErrorDocumentが上手く作動しなかった頃は

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} "\.(php|html)$"
RewriteRule .+ /404.htm [L]

と書いていた。
403、503辺りは無視。

404/403関連で追記(2010/10/10)

今さらながら発見。
私が404/403ページをうまく作成出来なかったのは、以下でハマっていたのかも

mod_rewriteの質問です。「RewriteCond %{REQUEST_FILENAME} !-f」と記述すると、存在するファイルだったらルールを適用しないという意味かと思いますが・・・

RailsとPHPの共存: Rails開発日記

virturlhostの場合は、DocumentRootをキチンと宣言しておかないとおかしな事になるよってお話。現在うちの環境では解決しているっぽいので、次に不具合が発生・または上手く作動しない時にはここから試してみる事に。

503表示テスト

503エラーが発生した時にどうなるか、F5連打でテストしてみた。
(初めての事なので結構ドキドキした(^_^;)

AccessExceededNumber

サーバーのエラーログには「AccessExceededNumber」と記録が残った。
しかし503エラーページに飛ぶことはなく、見かけ上では普通に正規のページが表示され、何の問題も発生しているように見えなかった。

全てのアクセスを記録したログは24時間経たないと見れないが、どういう記録が残っているかあとでじっくり読んでみる事にする。

503テスト追記

上記の様な理由で、今回初めて普通のサーバーログとエラーログを対比しながら確認してみた。

今回の場合、AccessExceededNumberと503エラーは全く異なるタイミングで発生していた。
AccessExceededNumberは特定IPから過剰なアクセスがあった場合のブロック機能として働くが、503エラーはサーバー全体でアクセスが過剰になっている時に発生している。

特定IPから秒間7~8回のペースでアクセスが行われるとAccessExceededNumberが検知されるが、サーバー全体に余力があれば503は発生しない。逆にアクセスが集中する時間帯では秒間4~5回のアクセスをしてくる人がいると(AccessExceededNumberが発生しなくても)簡単に503エラーが出る。

 

それでも画像を別サーバーに移転した事で多少は503に強いサイトになったっぽい。
今回は、「まあこれでよし」としよう。

サイト内関連ページ