ほかのCMSからWordpressに移行する時に困るのが.phpや.htmlなどの拡張子の扱いです。

移行元のファイル名が/123.phpだった場合はWordpressでは/123/としたいですよね?

では、.phpを全部リダイレクトして拡張子を消せばOKなのでは?と作業してしまうと大変なことに・・・

.phpを下手にリダイレクトしてしまうと、Wordpressで必要なファイルまで拡張子が削除されてリダイレクト

されてしまいWordpress全体がバグってしまいます。
(特に管理画面周り)

 

そこで、今回のコードになります。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.php$ $1 [R=301,L]

上記のコードは、

「.phpのファイルが実在しなければリダイレクトされる」

ので、実在する.phpファイルには影響しません。

今回はphpとしましたがhtmlでも問題なく動作すると思います。