ど素人から毛を生やす。<延>

WordPressをルート直下で表示する方法

Web > WordPress 2015年6月2日(最終更新:8年前)

2015年6月2日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。
社内で共有したいと言われたので、今回はWordPressの超初心者向けの記事を書きます。

h270602-1

こんな感じで、WordPressのインストールディレクトリがルート直下ではない場合に、WordPressをドメイン直下のURLで動かすためのお話です。

 

①管理画面から

管理画面上で設定すべき事項は2つです。

ひとつは、「設定」>「一般」から、「サイトアドレス」を変更すること。

h270602-2

この「サイトアドレス」の内容をルート直下(WordPressのトップページを置きたいディレクトリ)に変更し、保存します。

次に、「設定」>「パーマリンク設定」から「共通設定」を「デフォルト」以外にします。

h270602-3

項目はいくつかありますが、デフォルト以外なら何でも良いです。

何故デフォルト以外なのかと言えば、デフォルト以外の設定で保存すると、「.htaccess」というファイルが自動的に生成されるから。
この「.htaccess」がサイトアドレスを変更するのに必須のアイテムになります。

WordPress手動でインストールした場合や、サーバーの設定によっては、保存すると、
「.htaccess を更新する必要があります。」
というメッセージが表示されることがあります。
これは、「.htaccess」を自動で生成できませんでした、という意味ですので、「.htaccess」を手動で設置しなければなりません。

 

②FTPから

管理画面から設定しただけでは、404エラーや403エラーが表示されます。
この解決法についてです。

 

404エラーが表示された場合。

これは最もシンプルな理由で、「.htaccessかindex.phpが存在しない」というものです。
WordPressの「サイトアドレス」で設置したディレクトリに、「.htaccess」と「index.php」を置かなくてはなりません。

「.htaccess」を自動的に設置できなかった場合、以下の内容を書いた「.htaccess」というファイルを用意します。


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

拡張子が「.htaccess」でファイル名は無しです。
PCの設定によっては、ファイル名のない拡張子だけのファイルは作成できないので、その場合は「.htaccess.txt」などのテキストファイルとして作成してFTPソフトでアップロード、アップロード先のサーバーでファイル名を変更して「.htaccess」を作ります。

これを設置したら、今度はindex.phpを設置します。

index.phpはWordPressをインストールしたディレクトリに入っていますので、一度ダウンロードして開きます。


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

この行を、


require(dirname( __FILE__ )  . '/WordPressのディレクトリ名/wp-blog-header.php');

あるいは、


require($_SERVER['DOCUMENT_ROOT']  . '/WordPressのディレクトリ名/wp-blog-header.php');

に変更します。

includeやrequireのパスは、フルパスでなければならないので、フルパスを取得するPHPタグを使います。
dirname( __FILE__ )は「現在開いているファイルの位置」を指します。
$_SERVER['DOCUMENT_ROOT']は「ルートディレクトリの位置」を指します。

どっちを使っても良いです。
肝心なのは、index.phpを開くとWordPressのディレクトリにあるwp-blog-header.phpにアクセスできるかどうかです。

 

403エラーの場合。

403エラーの場合、「.htaccess」にもう一文を追加する必要があります。


Options +FollowSymLinks

「シンボリックファイルを認識するかどうかの設定」ですが、シンボリックファイルとは…の説明は置いといて、取り敢えず403エラーが表示されたら「Options +FollowSymLinks」を書き加えるぞという認識で良いかと思います。

サーバーの種類・設定によっては、この記述を追加で行う必要がある感じです。

 

サーバーによってはPHPのバージョンを指定する必要性。

また、複数のPHPを持つサーバーの場合、PHPバージョンを指定しなければならないこともあります。

いわゆるCPIサーバーなどですね。

この場合は「このPHPを拡張子.phpのファイルで動かす」という指定をする必要がありますので、


AddHandler x-httpd-php5516 .php

5516の部分は、お使いのサーバーのPHPバージョンに合わせる感じです。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)