WordPressを使ってホームページを作成しています。
「パーマリンク設定」をデフォルトのままページを一通り作成しました。
「パーマリンク設定」を変更しないと、各ページのURLは
http://(ホスト名)/?page_id=(数字)
のような形式になります。
デフォルトのままでは何のページかが分かりずらいため、URLの変更を行うことにしました。
手順としては、パーマリンクの共通設定を変更し、その後、個々のページのURLを変更します。
パーマリンクの共通設定は、以下の手順で変更することができます。
- ダッシュボードから [設定] → [パーマリンク設定]を選択します。
- 開示されたページの [パーマリンク設定] → [共通設定] を変更します。
パーマリンクの共通設定を変更したら、個々のページのタイトルの下にある「パーマリンク」を編集します。
以上の手順でURLの変更を行ったページを表示してみると、「Not Found」が表示されました。
変更を行ったページを正常に表示するために、いくつか設定を行いました。
【動作環境】Ubuntu 14.04 LTS、Apache 2.4.7
※ サーバ環境により異なるため、設定が必要のない場合もあります。
❋ Apache の 設定を変更します。
- mod_rewrite を有効にします。
1% sudo a2enmod rewrite - 有効になったことを確認します。
123% ls -la /etc/apache2/mods-enabled/rewrite.loadlrwxrwxrwx 1 root root 30 10月 27 11:38 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load - /etc/apache2/sites-available/000-default.conf に以下の設定を追加します。
※ WordPress が /var/www にインストールされている場合。
12345<Directory /var/www/>AllowOverride AllOrder allow,denyallow from all</Directory> - Apache 再起動します。
1% sudo /etc/init.d/apache restart
❋ WordPressがインストールされているディレクトリに .htaccess を作成します。
- index.phpが置かれているディレクトリに、空の .htaccess を作成します。
1$ touch .htaccess - 書き込み権限を付加します。(権限の範囲はサーバの設定による)
※ [パーマリンク設定]画面に以下の記述が出力されている場合は書き込みに失敗しています。その場合は、書き込み権限の範囲を広げます。権限の範囲はサーバの設定によります。
- 正常に自動更新された場合は、.htaccess に以下の内容が追記されます。
12345678910# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPress