速報

Maru-Janで全会員185万人超の認証情報が流出 再開後もパスワード変更を

CATEGORY

【WordPress】トップページ以外が404エラーで表示されない

※本ページのリンクにはプロモーションが含まれています。

【WordPress】トップページ以外が404エラーで表示されない

目次

本記事では、WordPressでトップページ以外が404エラーで表示されない場合の解決方法を2パターンご紹介しています。

404エラーでページが表示されない……どうすればいいの?

すべてのエラーに当てはまるわけではないですが、該当する方は参考にしていただければと思います。

では、解説していきます。

筆者は「CendOS7」の環境で検証しております。予めご了承ください。

スポンサーリンク

htaccessがない

WordPressは適切な権限を与えると、自動で.htaccessの作成や更新をしてくれます。ただ、権限が適切でない場合はファイルを作成することができないため、.htaccessが吐き出されずに存在しない状態になります。その場合は自身で.htaccessを作成する必要があります。

下記のようなディレクトリ構造だと仮定します。

/var/www/html/sample/wordpress

「wordpress」がサイトのルートディレクトリの場合は「wordpress」ディレクトリ配下に.htaccessを作成します。

/var/www/html/sample/wordpress/.htaccess

後は設定の最下部に.htaccessに記載すべき値が表示されているはずですので、画面の指示に従って.htaccessを更新してください。

パーマリンク設定画面に何も表示されていない場合は下記をコピーしてご利用ください。

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

以上で.htaccessの作成は完了です。ページの表示をご確認ください。

htaccessが作成されているがページが表示されない

.htaccessは作成したけど、ページにアクセスすると未だ404エラーが表示される……

そういった場合は、サーバー側で.htaccessの設定が有効になっておらず、使用できない状態の可能性があります。そのため、自身でサーバーの設定ファイルを更新する必要があります。

apacheの設定ファイルを更新します。まずは設定ファイルである「httpd.conf」を探します。

下記のコマンドを実行します。

find / -name httpd.conf

実行結果が表示されます。大体下記の場所にあると思います。

/etc/httpd/conf/httpd.conf

出力されたディレクトリまで移動してエディター(vi、vim等)を起動します。

.htaccessを使用するためには「AllowOverride」を「Noneから「Allに修正する必要があります。

既存の「AllowOverride None」となっている部分をコメントアウトして、直下に「AllowOverride All」を追加します。

修正後は下記のようになります。

<Directory />
    # AllowOverride None
    AllowOverride All
</Directory>

上記もしくは下記の部分どちらかを修正するだけ問題ないかと思います。

<Directory /var/www/html>
    # AllowOverride None
    AllowOverride All
</Directory>

追記したら設定ファイルの文法に問題ないかチェックします。

apachectl configtest

「Syntax OK」と表示され、文法に問題がなければ設定ファイルを再読み込みします。

systemctl reload apache

以上で、.htaccessが有効になります。ページの表示をご確認ください。

スポンサーリンク

最後に

普段をしているとサーバー側の設定を意識する必要はほとんどないですが、やAzure、GCPのようなサービスや上でサーバーを構築する場合は設定を一から入れる必要があります。

設定を忘れた場合に本記事のようなエラーが起きやすいと思いますので、そのようなときにご活用いただければ幸いです。

以上、WordPressでトップページ以外が404エラーで表示されない場合の解決方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

VPS

1台の物理サーバーを仮想的に分け、専用のサーバーのように使えるサービス。自由度が高い分、管理も自分で行う。

詳しく見る

クラウド

サーバーやソフトウェアを自分で持たずに、インターネット経由で必要な分だけ利用する形態。AWSやGoogle Cloudなど。

詳しく見る

AWS

Amazonが提供するクラウドサービス(Amazon Web Services)。仮想サーバーやストレージ、データベースなど多くのサービスがある。

詳しく見る

レンタルサーバー

事業者が管理するサーバーの一部を借りて、Webサイトやメールを運用するサービス。サーバーの保守を任せられる。

詳しく見る

パーマリンク

Webページごとに付けられる、変わらない前提のURL。WordPressでは記事のURLの形式を設定できる。

詳しく見る