404 File Not Foundページのカスタマイズ方法

Not Found

The requested URL /~xxx/yyy.html was not found on this server.


Apache/1.3.9 Server at www.xxx/yyy.ne.jp Port 80

ページが見つかりません

検索中のページは、削除された、名前が変更された、または現在利用できない可能性があります。

次のことを試してください:

  • アドレス バーにページ アドレスを入力した場合は、ページ アドレスを正しく入力したかどうかを確認してください。

サイトを閲覧していると上のように表示されることがあるかと思います。
左はOperaなどのブラウザやInternet Explorer「ツール」⇒「インターネット オプション」⇒「詳細設定」の「HTTP エラーメッセージを簡易表示する」チェックボックスを OFF にしている人のエラーページです。
右はInternet ExplorerHTTP エラーメッセージを簡易表示する」チェックボックスを ON にしている人のエラーページです。
でもなんか味気ないですよね?それにいきなりこういうページが出てくると戻ったり、閉じたりしてしまいますよね。せっかく訪問していただいたのちょっと惜しいと思いませんか?
そう思う方はオリジナルのNot Found エラーHTMLページを作ってみましょう。

その前に注意しないといけない点が1つあります。それはご利用のレンタルサーバーが.htaccessを有効にしているかどうかです。(日本のサーバーのほとんどはApacheと言うサーバソフトを使っているので.htaccessは使えると思います。自宅サーバーの初心者によく利用されているサーバーソフト AN HTTPD ではオプションで.htaccessの設定をしないと使えませんのでご注意ください。)
この辺は各自で調べてください。当サイトが使わせていただいているxreaに関しては条件を満たしていますのでお使いになれます。

  1. まずはHTMLファイルを作ろう。
    ここでは特に説明することはありません。ウケ狙うも良し、趣味に、笑いに走るもよしです。正直言って助言のしようがありません(ぉ
    ただし、あくまでも目的は404 Not Found ですのでそのことが分かるようにしましょう。ポイントとしては404をどこかに入れるか、上記した右の404ページを模しましょう。
    作るのが面倒な人は私が作ったものをmaterialにてダウンロードしてください。濃いですけど(ぉお (右に模したものですので404とは入っていません。外国の方が見ることを前提にしているのである場合はお勧めできません。
  2. .htaccessを作ろう。の前に.htaccessってなに?
    拡張子ではなく、ファイル名がない一風変わった .htaccess 。なんだろうと思っているかもしれませんので簡単に説明しておきます。
    .htaccessとはサーバー管理者単位でしかできないサーバーの設定を個人ユーザー単位、またディレクトリ単位で設定しようと言うものです。
    これからはじめる404のカスタムをはじめとして、アクセス制限やID・PASSの認証、画像の直リンク禁止などもできます。
    随時更新していく予定ですが、お急ぎの方は私にメールするなり、各自でしらべるなりしてください。
  3. なんとなく .htaccess については分かったけれどどうやって作るの?
    まずはメモ帳を開きます。そして次のように記述してください。
    ErrorDocument 404 /htaccess/404.html

    そして次の図ように保存してください。

    注目していただきたい点はファイル名が「
    .htaccess」であると言うことと、その下のファイルの種類が「すべてのファイル」であると言うことです。
    多分ファイルの種類に関しては指定しないと「テキスト文書(*.txt)」となってしまい、これでは機能しなくなってしまうのでご注意ください。

  4. 言われた通りにやったけれど、何だったの?
    では何と書いたか説明させていただきます。
    これは「
    404 File not Found が起きたら右のファイルを表示してください」と言っています。たったそれだけです(笑)
    「ErrorDocument 404」までは.htaccess」の命令文。半角スペースを挟んで書かれた「/htaccess/404.html」は実行されるファイルのパスです。
    パスについては次項で詳しく述べます。

    (ちょっとした豆知識)今は理解できているいるけど、後から見た時に覚えているか不安と思っている方は、後から見ても分かるように解釈を先ほど作った.htaccess 書いてみましょう。
    方法は至って簡単。
    行の最初に # を入れるだけです。# のあとは改行しない限り何を書いても反映されませんので、それを利用してコメントを入れましょう。
    ##########################################
    # 404 File Not Foundページのカスタマイズ方法 #
    ##########################################
    #404 File not Found が起きたら右のファイルを表示してください。//実行ファイルのパス
    .
    ErrorDocument 404 /htaccess/404.html

    どのように記述するかは自由です。各自見やすいように書いてください。
    今後色々な命令文を組み合わせることがでてきますので、一行ごとに解説を入れておくと後のためにも便利かもしれません。

  5. 実行ファイルのパスについて。
    たとえばあなたのサイトのURLが http://gundam.ne.jp/~gihren/ だとした場合、上のファイルはこうかかれていると思ってください。
    ##########################################
    # 404 File Not Foundページのカスタマイズ方法 #
    ##########################################

    #404 File not Found が起きたら右のファイルを表示してください。//実行ファイルのパス.
    ErrorDocument 404 http://gundam.ne.jp/~gihren/htaccess/404.html

    実際にこのように記述しても動作します。
    ですがこのように記述するとアドレス欄にhttp://gundam.ne.jp/~gihren/htaccess/404.htmlと表示され、どこにファイルがあるかがばれてしまいます。

    構わないという人はURLで「404.html」を指定していただいて構いません。
    が、色々思うところがあって
    アドレスを見せたくない人(意味深)はサイトのURL(http://gundam.ne.jp/~gihren)を省略して書いてください。
    (難しい表現をしますが、絶対パス 〜/gihren/public_html/ までの部分は省略してくださいということです。)
    ですので、http://URLアドレス
    /zeon/bbs/htaccess/404.html なら /zeon/bbs/htaccess/404.html と書いてください。もちろん書いたあとは保存を(笑)

  6. FTPソフトを使って404ファイルをUPしよう。
    まず
    FTPソフトはFFFTPを推奨します。理由は他のFTPソフトでは「.htaccess」をアップロードした場合、「.htaccess」ファイルが表示されない場合があるからです。
    ですので事前に管理人が.htaccess」ファイルが表示されていること確認したFFFTPを推します。(FFFTPで表示されない場合は「表示」⇒「.で始まるファイルを表示」にチェックを入れましょう。)
    では本題に入っていきます。
    まずはFFFTPを起動させサーバーにアップロードできる状態を作ってください。
    次に先ほど実行ファイルのパスとして指定した場所に「404.html」をアップロードしてください。
    画像のアップロード先は各自で作った404ページの設定に従ってください。404をアップしたフォルダとは別の箇所にアップロードすることをお勧めします。
    ひとまず休憩。
  7. FTPソフトを使って.htaccessをUPしよう。
    ここで重要なのはどこに「.htaccess」をUPするかです。
    HP全体に「.htaccess」を有効にしたいのであれば、サーバー指定のHTMLファイルのアップロード先、たとえば「public_html」なら「public_html」に「アスキー転送」でアップロードしてください。(バイナリー転送は×)パーミッションはアップロードした時点で「例:644」なので変更する必要はありません。
    これで自動的に「public_html」以下のフォルダおよびファイルが「.htaccess」の対象になりました。
    もし全体ではなく「/public_html/gihren/novel/」の
    「novel」だけに反映させたければ「novel」に同様の方法で「.htaccess」を「アスキー転送」してください。この場合「novel」以下が「.htaccess」の対象となり、「novel」の上に位置する「/public_html/」や「/public_html/gihren/」には「.htaccess」は反映されません。
    これでオリジナルの404は無事表示されるはずです。表示されない場合はファイルのパス、パーミッション、転送方法などそれぞれ正しいか確認しましょう。
    ひとまずこれで終了です。お疲れ様でした〜(゚▽゚*)ニパッ
  8. 応用
    もし403や500エラーページもオリジナルにカスタムした場合は「
    .htaccess」を
    ################################################
    # 404 File Not Foundページのカスタマイズ方法の応用 #
    ################################################

    #404 File not Found が起きたら右のファイルを表示してください。//実行ファイルのパス.
    ErrorDocument 404 /htaccess/404.html
    ErrorDocument 403 /htaccess/403.html
    ErrorDocument 500 /htaccess/500.html

    としてください。アップロード方法は同じです。

  9. 安全性を高めるために
    この「
    .htaccess」ファイルですがサーバーによっては、アドレスで http://gundam.ne.jp/~gihren/.htaccess と呼び出すと「.htaccess」ファイルの内容が見えてしまう場合があります。
    現段階では特に困ることもないと思いますが、もしこの先.htaccess」でパスワード認証をしようとしたとき、.htaccess」ファイルが見えてしまうと折角のパスワードが見えてしまうという由々しき事態が起こります。今回に関してもファイルの場所がばれるてしまうなど、最悪の場合には心許ない人たちに荒らす機会を与えてしまいかねません。
    ですので、
    ##################################
    # .htaccess へのアクセスを拒否する #
    ##################################
    #
    .ht からはじまるファイルの
    #アクセスをすべて拒否します。
    #宣言終わり。
    <Files ~ "^\
    .ht">
    deny from all
    </Files>
    ################################################
    # 404 File Not Foundページのカスタマイズ方法の応用 #
    ################################################

    #404 File not Found が起きたら右のファイルを表示してください。//実行ファイルのパス
    #403 File not Found が起きたら右のファイルを表示してください。//実行ファイルのパス
    #500 File not Found が起きたら右のファイルを表示してください。//実行ファイルのパス

    ErrorDocument 404 /htaccess/404.html
    ErrorDocument 403 /htaccess/403.html
    ErrorDocument 500 /htaccess/500.html

    .ht となっているのは今後パスワード認証で.htpasswd(ファイル名は任意) と言うファイルを作った時のことを考えて.ht から始まるファイルとしました。
    パスワード認証を使う予定のない方は <Files ~ "^\.ht">は<Files ~ "^\.htaccess">でも構いません。

TOP/BACK