• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

WordPress を専用ディレクトリに配置する

提供: WordPress Codex 日本語版
2015年10月21日 (水) 01:22時点におけるGblsm (トーク | 投稿記録)による版 (レイアウト崩れを修正。)

移動先: 案内検索

このページ「WordPress を専用ディレクトリに配置する」は Pointing your home site's URL to a subdirectory 節以降が未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

WordPress をウェブサイトのルート(例えば http://example.com)で動かしたいけれど、WordPress のファイルすべてをドキュメントルートディレクトリに散らかしたくない人はたくさんいます。WordPress はサブディレクトリに WordPress ファイル /en を設置しても、ウェブサイトをサイトのルートに表示することができます。

バージョン 3.5 以降、マルチサイトのユーザーは以下に記載されているすべての機能を使用することができます。WordPress 3.5 より古いバージョンを実行している場合は、マルチサイトの WordPress をサブディレクトリへインストールする前に新しいバージョンへ更新してください。

テーマ/プラグイン開発者への注意: これはみなさんのコードを WordPress から切り離しません。テーマとプラグインは引き続き wp-content フォルダー内に置きます。


サブディレクトリに新規インストールする(した)場合

新規インストール時に WordPress ファイル一式を専用ディレクトリにまとめて置けば、作業は最も簡単です。

サーバの公開ディレクトリのサブディレクトリ(この説明では http://example.com/wp/ と仮定)に WordPress ファイルを入れてインストールした後、下記手順の 1、3、6 を飛ばして行ってください。

ルートディレクトリにインストール済みの場合

WordPress をルートディレクトリにインストール済みの場合、WordPress ファイルを専用ディレクトリへ移動するには次のようにします(ディレクトリ構成例も参照)。

注意: 作業の順番を間違えたり飛ばしたりすると、サイトにアクセスできなくなることがあります。ひとつずつ確実に進めましょう。

  1. WordPress のコアファイルを置くための、新しいディレクトリを作成する(この手順では仮に wp とする)。
    (linux の場合、www ディレクトリで mkdir wp を実行。作成した wp ディレクトリでおそらく "chown apache:apache" することになるでしょう。)
  2. 管理画面設定 > 一般設定を開く。
  3. WordPress のアドレス (URL) 欄を、WordPress コアファイルの新しい URL に変更する。例:
    WordPress のアドレス (URL) > http://example.com/wp
  4. サイトのアドレス (URL) 欄を、ルートディレクトリの URL に変更する。例:
    サイトアドレス (URL) > http://example.com
  5. 変更を保存をクリック。(重要:この時点ではエラーメッセージが出ても気にせず、サイトを表示しようとしないでください!おそらく「ファイルが存在しない」というメッセージが出るはずです。)
  6. WordPress コアファイルを、手順 1 で作成した新しいディレクトリ(「WordPress のアドレス」)へ移動する。
  7. WordPress ディレクトリにある index.php.htaccess ファイルを、手順 4 で設定したサイトのルートディレクトリ(「サイトのアドレス」)へコピーする。移動ではなくコピーすることに注意!
    • パーマリンク設定を使っていなければ、.htaccess ファイルは存在しない場合があります。
    • WordPress を Windows (IIS) サーバー上で動かしており、パーマリンク設定を使っている場合は、.htaccess ファイルの代わりに web.config ファイルが WordPress のディレクトリにあるはずです。この場合、上記の通り index.php をルートディレクトリへ(移動ではなく)コピーしてください。そして web.config ファイルは(.htaccess とは違って)ルートディレクトリへ(コピーではなく)移動してください。
    • 存在するはずの .htaccess ファイルが見えないときは、FTPクライアント隠しファイルの表示設定を行なうこと。
  8. ルートディレクトリの index.php ファイルを編集する。
    1. ルートディレクトリの index.php ファイルをテキストエディタで開く。
    2. 次の修正を行う。
      修正前:
      require( dirname( __FILE__ ) . '/wp-blog-header.php' );
      修正後:WordPress コアファイルの新ディレクトリ名を使います。
      require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
    3. ファイルを上書き保存する。
  9. 新しい URL からログインする。例えば http://example.com/wp/wp-admin/ など。
  10. パーマリンクを設定している場合、パーマリンク設定を開き、パーマリンク構造を更新してください。.htaccess に適切なパーミッションを設定してあれば、WordPress が自動で .htaccess を更新します。もし WordPress が .htaccess を書き換えられない場合、新しいリライトルールが表示されるので、(メインの index.php ファイルと同じディレクトリの).htaccess ファイル内へ手動でコピーしてください。


既存のサブディレクトリを使ってルートディレクトリに表示する場合

WordPress をすでにサブディレクトリにインストールしている場合(例:http://example.com/wp)は以下の手順に従ってください。

  1. 管理画面設定 > 一般設定を開く。
  2. サイトのアドレス (URL) 欄を、ルートディレクトリの URL に変更する。例:
    サイトアドレス (URL) > http://example.com
  3. 変更を保存をクリック。(重要:この時点ではエラーメッセージが出ても気にせず、サイトを表示しようとしないでください!おそらく「ファイルが存在しない」というメッセージが出るはずです。)
  4. WordPress ディレクトリにある index.php.htaccess ファイルを、手順 2 で設定したサイトのルートディレクトリ(「サイトのアドレス」)へコピーする。移動ではなくコピーすることに注意! — コピー先のディレクトリ名はおそらく wwwpublic_html でしょう。
    • パーマリンク設定を使っていなければ、.htaccess ファイルは存在しない場合があります。
    • WordPress を Windows (IIS) サーバー上で動かしており、パーマリンク設定を使っている場合は、.htaccess ファイルの代わりに web.config ファイルが WordPress のディレクトリにあるはずです。この場合、上記の通り index.php をルートディレクトリへ(移動ではなく)コピーしてください。そして web.config ファイルは(.htaccess とは違って)ルートディレクトリへ(コピーではなく)移動してください。
    • 存在するはずの .htaccess ファイルが見えないときは、FTPクライアント隠しファイルの表示設定を行なうこと。
  5. ルートディレクトリの index.php ファイルを編集する。
    1. ルートディレクトリの index.php ファイルをテキストエディタで開く。
    2. 次の修正を行う。
      修正前:
      require( dirname( __FILE__ ) . '/wp-blog-header.php' );
      修正後:WordPress コアファイルの新ディレクトリ名を使います。
      require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
    3. ファイルを上書き保存する。
  6. 新しい URL からログインする。例えば http://example.com/wp/wp-admin/ など。
  7. パーマリンクを設定している場合、パーマリンク設定を開き、パーマリンク構造を更新してください。.htaccess に適切なパーミッションを設定してあれば、WordPress が自動で .htaccess を更新します。もし WordPress が .htaccess を書き換えられない場合、新しいリライトルールが表示されるので、(メインの index.php ファイルと同じディレクトリの).htaccess ファイル内へ手動でコピーしてください。


参考:途中のステップでサイトが一時的に動作しなくなるので、例えば真夜中などサイトがアクセスされにくい時にこの作業を行うのがベストです。

もしサイトにコンテンツがすでにある場合は、データベース内に残る古い URL への参照をどうするかについて ドメイン名またはURLを変更するとき を見てください。


ディレクトリ構成例

  • public_html (ドキュメントルート=公開ディレクトリ http://example.com/
    • .htaccesswp/.htaccess からコピー。パーミッションを書き込み可能[1]にしておき、手順 10(7)で更新
    • index.phpwp/index.php からコピー。手順 8(5)で修正
    • wp/ (新ディレクトリ)
      • wp-admin/ (ログイン)
      • wp-content/
      • wp-includes/
      • .htaccess → ルートへコピー
      • index.php → ルートへコピー
      • ...
  1. 707 等、ホスティングによって適切な値は異なります。)

Pointing your home site's URL to a subdirectory

In some cases, you may have a WordPress site that changes significantly every year, such as with a conference website. If you want to install each year's version of the site in a subdirectory, such as /2010, /2011, and /2012, but have the root domain (yoursite.com) automatically redirect to a particular subdirectory (usually the latest), follow this technique:

  1. Install WordPress in a subdirectory, such as /2015, /blog or /wp.
  2. In your root folder (not the subdirectory folder), download and open your .htaccess file.
  3. Add the following to your .htaccess file:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?YourDomain.com$
RewriteRule ^(/)?$ blog [L]
  1. In the above code, change the "YourDomain.com" value to your root domain.
  2. In the above code, change the "blog" value to the subdirectory.
  3. Save and upload the .htacess file back to your root directory.

Now when users to go your root domain (yoursite.com), it will automatically redirect to the subdirectory you specified. When you want to redirect to a new subdirectory, such as the conference site for next year, just update the .htaccess redirect code.

Note: This code comes from Site 5's post here: How to Redirect Your Domain to a Subfolder Using .htaccess.


特定の WordPress フォルダの引越し

以下のリンクはWordPress内の特定のディレクトリを変更する方法について説明します。


最新英語版: WordPress Codex » Giving WordPress Its Own Directory最新版との差分