今回は、サブドメインのWordPressでパーマリンク設定を変更したら403エラーが出たという問題と、その解決方法について解説していきます。
はじめに(結論)
サブドメインにWordPressをインストール後、パーマリンク設定を変更すると記事が開けなくなる場合、原因は「サブドメインのディレクトリ権限(パーミッション)」の可能性があります。
実際に私は、.htaccessやWordPressの設定では解決せず、サブドメインフォルダのパーミッションを修正したことで解決しました。
この記事では、次の3つのポイントを初心者向けにまとめます。
- どんな症状が出たのか
- なぜパーミッションが原因だったのか
- 実際にやった解決手順
発生した問題
サブドメインにWordPressをインストールし、管理画面からパーマリンク設定を以下のように変更しました。
「基本」→「投稿名」
すると、次のような状態になってしまいました。
- トップページは表示される
- 個別記事を開くと403 / 404エラー
- パーマリンク設定を戻すと表示される
「パーマリンクの問題だろう」と思い、いろいろと試してみることにしました。
最初に疑った原因(が、違った)
この手のトラブルでよく言われるのは以下です。
- .htaccessがない
- .htaccessの記述が間違っている
- プラグインの影響
実際に、次のような対処を試してみました。
- パーマリンクの再保存
- プラグインの無効化
- .htaccessの確認と再生成
しかし、どれも改善しませんでした。
「一体何が原因なんだろう…」と悩んでいたところ、ふと気づいたのがサーバー側の権限設定でした。
原因:サブドメインのディレクトリ権限(パーミッション)
最終的な原因は、サブドメインのフォルダのパーミッションが適切でなかったことでした。
パーミッションとは?
簡単に言うと、次のような設定です。
「このフォルダを、誰が、どこまで操作していいか」
WordPressは、次のような処理をサーバー側で実行します。
- 記事URLの処理
- .htaccessの読み込み
そのため、フォルダに「読み取り・実行」の権限がないと、記事URLが正しく処理されません。
これが403エラーの原因だったのです。
実際にやった解決方法
① サブドメインのフォルダを確認
レンタルサーバーのファイルマネージャ、またはFTPで以下を確認しました。
example.com/
└ public_html/
└ sub.example.com
このサブドメイン直下のフォルダが対象です。
sub.example.comを私のサイトで例えると、it.kashiros.comですね。
② パーミッションを変更
サブドメインのフォルダのパーミッションを以下に変更しました。
755
(フォルダの場合、基本は755です)
変更後、WordPress管理画面→パーマリンク設定を再保存してください。
③ 正常に表示されるようになった
これで、次のページがすべて正常に表示されるようになりました。
- 個別記事ページ
- 固定ページ
.htaccessの中身は一切変更していません。
なぜパーマリンク変更で問題が表面化するのか
パーマリンクを「投稿名」にすると、次のような処理が行われます。
- URLをWordPressが解析
- .htaccessを通して内部処理
ディレクトリ権限が不十分だと、次のような流れで問題が起きます。
- URL解析ができない
- 結果として403 / 404エラー
つまり、問題はWordPressではなく、サーバー側の設定というケースです。
同じトラブルを防ぐための注意点
- サブドメインは親ドメインと別サイト扱い
- フォルダ権限は必ず確認する
- 403 / 404はWordPress以外が原因のことも多い
特に、サブドメインを新しく作成した直後は、フォルダのパーミッションがデフォルトで適切でない場合があるため注意が必要です。
まとめ
サブドメインのWordPressでパーマリンクが効かない場合は、次のポイントを確認してみてください。
- .htaccessだけでなくディレクトリのパーミッションを疑う
- フォルダ権限を755に変更することで解決するケースがある
サブドメインは一見すると簡単ですが、サーバー設定の影響を強く受けるため、こうしたトラブルが起きやすいです。
同じ状況で悩んでいる方の参考になれば幸いです。
ここまで読んでくださり、ありがとうございました。
この記事が皆様のWordPress運営に役立てば幸いです。


