wordpressテスト環境のXAMPP内構築時の.htaccessとwp-config.phpの取り扱い

更新

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に自動生成させることにしました。

詳細は以下の記事にて。
XAMPP上にWORDPRESSを設置後、TOP以外のページが表示されない場合の対処法|ウェブシュフ

コメントを残す

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