WordPressの.htaccessを編集する

WordPressでは、パーマリンクなどの設定をWordPress管理画面上から行うと.htaccessを自動で書き換えます。 管理者が独自の設定を.htaccessに行いたい場合、この自動書き換えにより独自に設定した項目が上書きされてしまうため、設定を工夫する必要があります。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^index\.rdf$ /feed/rdf/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

通常WordPressの.htaccessは上のようになっています。 WordPressでは、 # BEGIN WordPress ~ # END WordPress で囲まれた部分が自動書き換えの対象なので、上書きされたくない独自の設定を行う場合には、以下のようにこの外に記述すれば良いです。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^hogehoge$ /piyopiyo [L,R=301]
</IfModule>

# 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