Webサイトのお困りごとはこちらへ

WordPressのパーマリンクにindex.phpが自動挿入されてしまうケースの解決方法

ハシビィくん

WordPressのパーマリンクにいつの間にか「index.php」という文字が含まれるようになったっす!

カピーさん

URLが意図しないものになるのは困るね。複数の問題が考えられるか順に対応していこう。

今回の症状はテスト環境から本番環境への移行や外部からの悪意ある攻撃でも起こりうる症状になります。放置していくと

  • SEOへの悪影響
  • ユーザー体験の低下(URLの見栄えが悪いため)
  • プラグインやテーマでの処理に不具合が起きる可能性

短期的な目線で言えば、Webサイトは動くので放置しがちですが、評価は落ちていきますし、index.phpが含まれたURLが正常と認識されてしまうと、修正する際に作業が増えてしまいます。早めの対処がおすすめです!

目次

パーマリンクにindex.phpが自動挿入の解決手順

前提条件として、今回はエックスサーバーを利用中のWordPressサイトという条件で説明させていただきます。

STEP
WordPressのパーマリンク設定を再設定
STEP
.htaccess の内容を確認・再生成
STEP
キャッシュのクリア

WordPressのパーマリンク設定を再設定

まずは1番基本的なWordPressの設定項目からの設定を。

[設定→パーマリンク]と項目を進めると下記画像の設定画面に移ります。

こちらで任意のパーマリンクを選択してください。ファイルに問題がなければ自動で更新されます。更新されず、改善しなかった際には次のステップに移ってください。

またindex.phpがパーマリンクに入力されているケースもあります。この場合、index.php部分を削除して保存でOKです。

.htaccess の内容を確認・再生成

エックスサーバーのサーバーパネルにログインし、「.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

入力内容に問題なければ、「実行する」をクリック。以上で設定完了となります。

キャッシュのクリア

エックスサーバーはブラウザキャッシュやサーバーキャッシュで古いURLが残ることがあるため、保存後にキャッシュ削除を実施すると確実です。

注意点

  • エックスサーバーでは AllowOverride 設定は変更不要(常にON相当)
  • Nginx ではないので .htaccess で完結
  • 移行時に homesiteurl の両方が本番ドメインになっていることを必ず確認(wp_options

まとめ:WordPressのパーマリンクにindex.phpが自動挿入されてしまうケースの解決方法

エックスサーバーで WordPress を移行した際にパーマリンクに index.php が入ってしまう場合、ほとんどは .htaccess が正しく反映されていないことが原因です。

エックスサーバーでは mod_rewrite は標準で有効なので、.htaccess の配置とパーマリンク再保存で解決できるケースが多いです。

WordPressのパーマリンクにindex.phpが自動挿入されてしまうケースの解決方法
  • WordPressルート直下に 正しい .htaccess を設置し、パーマリンクを再保存する
  • サイトURL(home と siteurl) が本番ドメインになっているかを確認する
  • 保存後は ブラウザやサーバーキャッシュをクリア して動作確認する
この記事をシェアする

コメント(承認制)

コメントする

目次