ラック
Home > CMS > 記事 > 2017年7月 > サブディレクトリにインストールしたWordPressをルートディレクトリから見られるようにする

サブディレクトリにインストールしたWordPressをルートディレクトリから見られるようにする

カテゴリ: WordPress

もう巷には情報が溢れているネタですが、自分でやる必要が出てきたので確認のためやっておきます。

前提

  • ドメインはexample.comとする
  • サーバ内のルートディレクトリは/www/var/public_html/とする
  • WordPressはサブディレクトリsubにインストール済みとする
    • つまり、通常であればhttp://example.com/にアクセスしてもWPのサイトは見られず、http://example.com/sub/にアクセスして初めてWPのサイトが見られる状態になっているものとする
    • サブディレクトリのサーバ内のディレクトリは/www/var/public_html/sub/とする

手順

  1. WPの管理画面にログインし、「設定」→「一般」に移動。「サイトアドレス (URL)」をhttp://example.com/sub/からhttp://example.com/に書き換える
    • 「WordPress アドレス (URL)」はhttp://example.com/sub/のままにすること
  2. FTPソフトでサーバに接続し、/www/var/public_html/sub/直下にある「.htaccess」と「index.php」の2つのファイルをローカルに一旦ダウンロードする
  3. ローカルにダウンロードした「index.php」を次のように編集する
    <?php
    /**
    * Front to the WordPress application. This file doesn't do anything, but loads
    * wp-blog-header.php which does and tells WordPress to load the theme.
    *
    * @package WordPress
    */
    /**
    * Tells WordPress to load the WordPress theme and output it.
    *
    * @var bool
    */
    define('WP_USE_THEMES', true);
    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/wp-blog-header.php' );

    <?php
    /**
    * Front to the WordPress application. This file doesn't do anything, but loads
    * wp-blog-header.php which does and tells WordPress to load the theme.
    *
    * @package WordPress
    */
    /**
    * Tells WordPress to load the WordPress theme and output it.
    *
    * @var bool
    */
    define('WP_USE_THEMES', true);
    /** Loads the WordPress Environment and Template */
    require( dirname( __FILE__ ) . '/sub/wp-blog-header.php' );

    と変更(requireの読み込み元をサブディレクトリに変更)

  4. ローカルにダウンロードした「.htaccess」を次のように編集する
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /sub/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /sub/index.php [L]
    </IfModule>
    # END WordPress

    # 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

    と変更(RewriteBaseRewriteRuleを変更)

  5. ローカルで編集した「.htaccess」と「index.php」の2つのファイルを、ルートディレクトリ/www/var/public_html/にアップロードする

これでサイト訪問者はhttp://example.com/にアクセスすることで、http://example.com/sub/にインストールされたWPのサイトを閲覧することができるようになる。
ただし、管理画面は相変わらずhttp://example.com/sub/wp-login.phpにアクセスすることになるので注意。

参考サイト

タグ: システム設定周り

 



関連する記事一覧