XPressME Integration Kit

フォーラム

Re: パーマリンク設定について

#3031
toemon
キーマスター

modulesを消す設定をしておりまして、「一般設定」の「ブログのアドレス (URL)」を変更していたために起きた現象でした。

の場合は、WordPress のアドレスをブログのアドレスに合わせる{共にmodulesを消す設定のURLにする。}と、うまくいくでしょう。

以下に.htaccessの場所を探す場合に利用している関数のコードを示します。

<code>function get_home_path() {<br />
$home = get_option( 'home' );<br />
$siteurl = get_option( 'siteurl' );<br />
if ( $home != '' && $home != $siteurl ) {<br />
$wp_path_rel_to_home = str_replace($home, '', $siteurl); /* $siteurl - $home */<br />
$pos = strpos($_SERVER["SCRIPT_FILENAME"], $wp_path_rel_to_home);<br />
$home_path = substr($_SERVER["SCRIPT_FILENAME"], 0, $pos);<br />
$home_path = trailingslashit( $home_path );<br />
} else {<br />
$home_path = ABSPATH;<br />
}<br />
<br />
return $home_path;<br />
}</code>

つまり、WordPress のアドレス (URL)とブログのアドレス (URL)が同じであればABSPATH(*1)が使われますが、今回のように、ブログのアドレス (URL)で間のmodulesが抜かれてしまった場合は、

$wp_path_rel_to_home = str_replace($home, ”, $siteurl); /* $siteurl – $home */

の部分がうまく機能せず、異なったディレクトリ位置を示してしまいます。

*1 ABSPATH

WordPress のルートディレクトリにあるwp_config.phpで

<code>/** Absolute path to the WordPress directory. */<br />
if ( !defined('ABSPATH') )<br />
define('ABSPATH', dirname(__FILE__) . '/');</code>

として設定されています。