前提・実現したいこと
同じディレクトリ内にindex.html(旧サイト)とindex.php(新サイト)を設置してあります。
example.co.jp/ で旧サイトを表示させつつ、新サイトの表示も確認したいのですが
example.co.jp/index.php でアクセスすると example.co.jp/ へリダイレクトされ index.php の表示を確認できません。
新サイトの準備が整い次第、旧サイトデータは削除します。
ディレクトリ構造を変更せず、新サイトを表示させる方法はないでしょうか?
経緯
他社制作・管理の静的サイトをwordpressにリニューアルするという案件です。
新サーバーにて開発し、公開直前のタイミングで「一旦旧サイトを表示させておいて欲しい」と依頼がありました。
旧サーバーの運用を継続できれば良かったのですが、契約満了時期に合わせてリニューアルサイトへ移行する事になっていたため、開発中の新サーバーへ旧サイトデータをアップロードし、ドメイン移管を行いました。
尚、ドメイン転出には旧サーバーの解約が必須条件となっております。
環境
- サーバー:さくらインターネット(スタンダード)
- wordpressバージョン:5.2.3
試したこと
以下のサイトを参照し canonical.php を編集してみましたが、何も変化はありませんでした。
https://whitebear-seo.com/wordpress-indexphp-indexhtml/
■before(wordpress 5.2.3 では419行目)
php
1// trailing /index.php 2$redirect['path'] = preg_replace( '|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path'] );
■after
php
1// trailing /index.php 2// $redirect['path'] = preg_replace( '|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path'] );
また、.htaccess で優先順位を変更してみました。
■.htaccessで優先順位を変更
htaccess
1# BEGIN WordPress 2<IfModule mod_rewrite.c> 3RewriteEngine On 4RewriteBase /wp/ 5RewriteRule ^index.php$ - [L] 6RewriteCond %{REQUEST_FILENAME} !-f 7RewriteCond %{REQUEST_FILENAME} !-d 8RewriteRule . /wp/index.php [L] 9</IfModule> 10 11# 12# DirectoryIndex: sets the file that Apache will serve if a directory 13# is requested. 14# 15<IfModule dir_module> 16 DirectoryIndex index.php index.html 17</IfModule>
index.html と index.php を共存させるだけであれば、.htaccess で DirectoryIndex index.php index.html と指定すると両方表示させることができました。
但し、これでは example.co.jp/ で新サイトが表示されてしまうので目的を実現できていません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/27 23:14 編集
2019/09/28 16:04
2019/10/01 08:40