WordPressと静的HTMLが混在している環境でトップページを静的HTMLにした際、投稿の下書きプレビューができなくなってしまいました。その時に行った対処をご紹介したいと思います。
WordPressで下書きの投稿をプレビューすると、URLはこんな感じになります。
https://example.com/?p=1234&preview=true
トップページを静的HTMLにしていると、index.html側が優先して呼び出されるのでプレビューが効かなくなってしまいます。(プレビュー画面ではなくトップページが表示されてしまう)
ちなみに、公開済みの投稿ではプレビュー時のURLの階層が異なるので、正常にプレビューできていました。
トップページを静的HTMLにしてWordPressの下書きプレビューができなくなった時の対処法
トップページを静的HTMLにした場合も下書きプレビューを有効にするためには、ルートディレクトリの.htaccessに以下2行を追記します。
RewriteCond %{QUERY_STRING} preview=true
RewriteRule ^/?$ /index.php$1 [L]
パラメータに「preview=true」があった場合は、index.htmlではなくindex.phpを読み込むようになります。これによって、下書きプレビューも正常に表示できるようになりました。
あとがき
静的HTMLとWordPressが混在していて、トップページが静的HTMLの場合にのみ起こる現象なので、だいぶニッチな内容にはなりますね。
また同じところで躓かないように備忘録として残しておきます。