Re: パーマリンク設定について
永らくありがとうございました › フォーラム › 使い方全般 › パーマリンク設定について › Re: パーマリンク設定について
2009 年 12 月 26 日 7:48 AM
#3031
キーマスター
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>
として設定されています。