WordPressでパーマリンクの設定などを行うと、WordPressのルートディレクトリに存在する.htaccessを、WordPressが自動的に書き換えてくれます。
利用している側は.htaccessを意識せずともURLの改変が行えるので非常に便利なのですが、別途mod_rewriteなどの設定を追加で記載したい場合、WordPressが勝手に上書きしてしまったりするため、気付いたら追加していた部分が消えてしまう場合があります。
WordPressを利用している場合は、下記のように #BEGIN WordPress ~ #END WordPress に囲まれている部分以外に記載することで、自動的な上書きを防ぐことができます。
Before
feedのURLをindex.rdfとしてリダイレクトさせている場合、以下だと自動的に上書きされる危険があります。
# 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
After
2つの記載に分けて利用すれば問題無し。
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.rdf$ /feed/rdf/ [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