Jan 10, 2014

ブラウザのアドレスバーに直接URLを入力して検索すると時折遭遇するエラーメッセージ【404 file not found】。

  • サンプル http://wild-cards.net/gafawaahfr.htm

  • 既存のテーマにはほぼ予め設定されていますが、何らかの理由で設定されていない場合、またはオリジナルでテーマ作成した場合のための404ページ設定手順をご紹介します。


    .htaccessの設定を変更する

    ルートディレクトリにある.htaccessファイルに以下の網掛け部分を追記します。
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    ErrorDocument 404 . /index.php?error=404
    
    こうすることで、404エラーが発生した場合にテーマフォルダの404.phpファイルを認識・表示してくれるようになります。

    .htaccess自体を未設定の場合は、テキストエディタに上記のコードをすべてコピペしてUTF-8N形式で保存後にルートディレクトリにアップロードしてください。注意点としては、保存する際のファイル名を間違わず「.htaccess」にして、.txt等の拡張子が付かないようにしましょう。

    404.phpを編集する


    テーマフォルダ直下に404.phpというファイルがある場合はそれを編集するのが手っ取り早いです。無い場合は、single.phpをコピーしたファイルを404.phpにリネームして編集します。ループ部分をまるごとエラーメッセージに差替えるといいでしょう。

    <?php get_header(); ?>
    
    <!-- content -->
    <div id="content">
    
    <p>申し訳ございません、お探しのページは見つかりませんでした。<br />
    入力されたURLに誤りがあるか、既に削除された可能性があります。<br />
    URLをご確認のうえ再読み込みいただくか、トップページにお戻りくださいませ。</p>
    
    </div>
    <!-- /content -->
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
    
    もっともシンプルな形だと上記コードのようになります。要するにヘッダ、フッタ、サイドバーをそのままにしたいならこれがベストということです。

    別にもともとのテンプレートファイルを使わなくても、任意のHTMLファイルを404.phpにリネームしてアップしても全然構いません。

    検索フォームなんかも付けておくとより親切だと思います。そのあたりはまた次の機会に。

    

    Leave a Reply

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    サイト内検索
    • Author

    • Twitter

      Follow @jay0926 (534 followers)
    • Facebook