質問
- wordpressのルート直下表示で文字化け
-
本文:
設定の仕方が間違っているのか、wordpressの使用の変更のせいなのかわかりませんが、サブディレクトリにインストールしたwordpressをルート直下に表示する設定がうまくいきません。
https://secure.netowl.jp/bbs/detail.cgi?td=500
https://secure.netowl.jp/bbs/detail.cgi?td=742
http://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory
いずれも参照しましたがダメでした。
Codexにある、
index.php修正前:
require('./wp-blog-header.php');
index.php修正後: WordPress コアファイルの新ディレクトリ名を使います。
require('./wp/wp-blog-header.php');
ですが、WordPress 3.8では
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
となっています。
そこで
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
require( dirname( __FILE__ ) . '○○/wp-blog-header.php' );
require( dirname( __FILE__ ) . './○○/wp-blog-header.php' );
require('./○○/wp-blog-header.php');
これらを準備しました。
ですが、それらを検証する以前に問題が発生します。
Codexの手順通りにサブディレクトリ内の.htaccess ファイルをルート直下にUP(コピー)して、パーマリンクの更新をしようとダッシュボードへ再アクセスすると
繧オ繝シ繝舌�縺ョ PHP 繝舌�繧ク繝ァ繝ウ縺ッ 5.1.6 縺ァ縺吶′ WordPress 3.8 縺ッ 5.2.4 莉・荳翫�縺ソ縺ァ縺泌茜逕ィ縺ォ縺ェ繧後∪縺吶
という文字が表示され、ダッシュボードへログインできなくなります。
元の.htaccess ファイルをUPし直すと表示が直ります。
wordpressを格納しているサブディレクトリ内の.htaccessの中身は
# 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
ルート直下にある.htaccessの中身は
# 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
#####phpversion#####
AddHandler x-httpd-php5.3 .php .phps
#####end:phpversion#####
となっています。
PHPバージョンは最新にしています。
解決策がお分かりの方、どうかご教授お願いいたします。 - 緊急度:通常投稿者:小鳥遊ゆりかさん投稿時間:2013/12/28 18:39
回答 No.2363
自己解決しました。
まさかと思ってやってみたことがビンゴでした。
.htaccessの書き換えが必要なかったようです。
index.phpについては
require( dirname( __FILE__ ) . '/○○/wp-blog-header.php' );
これが正解でした。
Codex参照でもうまくいかないこともあるもんですね。
最新版は英語版もチェックするべきかしら。
掲示板汚し、失礼しました。
同じようにつまずいた方のお役に立てば幸いです。