Technical

公開日: 2024年10月1日  公開日: 2024年10月1日

【WordPress】 index.phpとindex.htmlを共存させる方法

 

ワードプレスでは基本的にindex.htmlが優先され、index.phpにアクセスしてもindex.htmlへリダイレクト(index.htmlの中身へ)されてしまいます。

なので現状htmlで作られているサイトをWordPressに作り変える時などは、現状のindex.htmlを稼働させながら裏でindex.phpを表示させてWordPressを構築していく必要がありまして今回index.phpとindex.htmlの共存を実施しました。

 

canonical.phpの一部をコメントアウトする

まずはWordPressディレクトリ内wp-includes/canonical.php内の以下のコードをコメントアウトします。

$redirect['path'] = preg_replace( '|/' . preg_quote( $wp_rewrite->index, '|' ) . '/?$|', '/', $redirect['path'] );
$redirect['path'] = preg_replace( '|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path'] );

WordPressのバージョンによって記載箇所は異なり、私が現在使っているWordPress 6.1.7では516行目と592行目にありました。

index.phpをディレクトリルートにリダイレクトさせない

上記で行ったcanonical.phpの一部をコメントアウトしていても、WordPressでホームページの設定を「最新の投稿」ではなく「固定ページ」に設定している場合は、index.phpにアクセスするとディレクトリルートにリダイレクトされてしまう場合があります。

そのような場合はfunctions.phpに下記のコードを追記することで解消します。

remove_filter('template_redirect', 'redirect_canonical');

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Related Posts

pageTop