• TOP
  • 記事一覧
  • サブディレクトリでインストールしたWordPressをルートディレクトリで表示させる方法(Xserver編)

サブディレクトリでインストールしたWordPressをルートディレクトリで表示させる方法(Xserver編)

更新日:2025/01/19

はじめに

WordPressをサブディレクトリ(例:example.com/wp/)からルートディレクトリ(example.com)に移行する方法を解説します。この手順はXserverで動作確認済みですが、他のレンタルサーバーでも基本的な流れは同じです。

WordPress簡単インストールでの設定から現状と目標

設定対象ドメインbizlabo.site
バージョンWordPress 6.7
サイトURLhttps://bizlabo.site/wp/wp
現状 📁 public_html/ 📁 wp/ index.php wp-config.php 📁 wp-content/ 📁 wp-admin/ 📁 wp-includes/ example.com/wp/ URLのみ変更 ファイルは移動しない 目標 📁 public_html/ 📁 wp/ index.php wp-config.php 📁 wp-content/ 📁 wp-admin/ 📁 wp-includes/ example.com ファイル構造はそのままでURLだけ変更

現状:

WordPressのファイルは /wp/ に設置
サイトURL: https://example.com/wp/

目標:

WordPressのファイルは /wp/ のまま
サイトURL: https://example.com

バックアップの作成

phpMyAdmin、FTPソフトを使用した従来の方法

移行作業を始める前に、必ず以下のバックアップを取っておきましょう:

  1. データベースのバックアップ
    • phpMyAdminからエクスポート
    • すべてのテーブルを選択
  2. WordPressファイルのバックアップ
    • FTPソフトで全ファイルをダウンロード

All-in-One WP Migrationでのバックアップ

「エクスポート」→「ファイル」を選択

WordPressのURL設定変更手順

下記の2通り方法がありますが、管理画面での設定が推奨

  • WordPress管理画面
  • wp-config.phpの設定

WordPress管理画面でWordPressアドレス、サイトアドレスの変更

  1. 管理画面で「設定」→「一般」を開く
  2. 以下の2つのURLを設定:
    • WordPress アドレス (URL): https://example.com/wp
      • WordPressのシステムファイルが実際にある場所
    • サイトアドレス (URL): https://example.com
      • サイトをブラウザに表示するURL
  3. 「変更を保存」をクリック
WordPress管理画面 > 設定 > 一般 WordPress アドレス (URL) https://wp/あなたのドメイン サイトアドレス (URL) https://あなたのドメイン 変更を保存

wp-config.phpでWordPressアドレス、サイトアドレスの変更

wp-config.phpでの設定は以下の場合のみ必要

  • 管理画面でURL設定ができない場合
  • データベースに直接アクセスできない場合
  • 緊急時の一時的な対応が必要な場合

wp-config.phpファイルに以下の2行を追加します:

wp-config.phpの設定(管理画面で設定した場合は不要) wp-config.php /* 既存の設定 */ define(‘DB_NAME’, ‘database_name’); /* 以下の設定は管理画面で設定した場合は不要 */ define(‘WP_HOME’, ‘https://あなたのドメイン’); define(‘WP_SITEURL’, ‘https://あなたのドメイン/wp’); ※ 管理画面(設定 > 一般)でURLを設定した場合、この設定は必要ありません

移動元のWordPressをXserver管理画面で削除

WordPress削除 WordPress設定情報 サイトURL http://example.com/ バージョン WordPress 6.7 管理画面URL http://example.com/wp-admin/ MySQLデータベース名 example_wordpress1 MySQLバージョン MySQL5.7 MySQLユーザー名 example_wordpress1 MySQLパスワード ********* ⚠️ 注意 WordPress削除を実行すると、データベースとファイルが完全に削除されます。必要なデータは事前にバックアップしてください。 WordPress削除

index.php .htaccessについてサブディレクトリからルートへのファイル複製と修正手順

サブディレクトリのindex.phpと.htaccessをダウンロードします

サブディレクトリのファイルをルートに複製・修正 1. サブディレクトリ (/wp/) index.php require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ ); .htaccess # BEGIN WordPress RewriteEngine On RewriteBase /wp/ RewriteRule . /wp/index.php [L] # END WordPress 複製&修正 2. ルートディレクトリ index.php require( dirname( __FILE__ ) . ‘/wp/wp-blog-header.php’ ); [修正] /wp/ パスを追加 .htaccess # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule . /index.php [L] # END WordPress [修正] パスをルートに変更 注意点: • 複製前に必ずオリジナルファイルのバックアップを取ってください • ファイルのパーミッションを適切に設定してください(644推奨)

index.phpの修正

// 修正前
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

// 修正後
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

.htaccessの修正

// 修正前
RewriteBase /wp/
RewriteRule . /wp/index.php [L]

// 修正後
RewriteBase /
RewriteRule . /index.php [L]

WordPressキャッシュ問題の効果的な解決手順

  • パーマリンク設定の再保存
    • 設定 → パーマリンク
    • 変更せずに「変更を保存」をクリック
  • wp-config.phpでの設定
// キャッシュ制御の設定
define('WP_CACHE', false);  // 一時的に無効化して動作確認

// デバッグモード(問題特定用)
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
  • 効果は薄い可能性があるが、ログイン/ログアウトで解決しました

話題のキーワードから探す