wordpressテスト環境を構築するとき、.htaccessとwp-config.phpを安易に元サイトから移し変えると、痛い目に遭います。特に、XAMPP内で構築するときには、気をつけないと大変面倒な作業をするはめになります。今回、うっかり失敗したので、今後のためにメモします。
.htaccessとwp-config.phpは作り直すべきもの
.htaccessとwp-config.phpは元サイトからテスト環境に移すべきではありません。
wp-config.phpは、テスト環境へのワードプレス設置時にインストールウィザードに従って慎重に作成するべきです。
また、.htaccessは、テスト環境を元サイトと同じパーマリンク設定にすることで、自動生成されるのを待つのがベストです。
私の失敗
しかし、今回私は、元サイトの.htaccessのコピーを.htaccessをxammp内のテスト環境C:\xampp\htdocs\exampleに置いてしまいました。
結果、サイトのトップページ(http://localhost/example/)は問題なく表示されるものの、その他のページが全く表示されず全てhttp://localhost/xampp/にリダイレクトされるという怪現象に悩まされました。
赤字部分の症状は、.htaccessの不具合でパーマリンク設定が反映されていない場合に典型的に見られるので、.htaccessをいじってみました。
元サイトの.htaccessの中身
以下の良くある設定でしたが、C:\xampp\htdocs\exampleにこれを置くのはまずかったようです。
# 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
AddHandler x-httpd-php5.3 .php .phps
.htaccessを再構成
上の内容を、ネット上の情報を基に、以下のように直しました。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /example/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /example/index.php [L]
</IfModule>
# END WordPress
AddHandler x-httpd-php5.3 .php .phps
しかし、これでも結局うまくいかず…。
.htaccessを自動生成させる
結局、.htaccessはパーマリンクの設定を色々いじって、wordpressに自動生成させることにしました。
詳細は以下の記事にて。
[img-link url=”https://webshufu.com/wordpress/object-not-found-after-setting-wordpress-on-xampp/” title=”XAMPP上にWORDPRESSを設置後、TOP以外のページが表示されない場合の対処法”]