デフォルトの動作を防ぐ方法を探しています(静的なページがサイトのホームページまたは 'frontpage'として設定されている場合(settings>reading>front page displays
内))。
私はdomain.com/
ページがここで指すようにしたいのですが、そうでなければdomain.com/home
に存在するhome
ページを作成した場合、Wordpressは自動的にdomain.com
にリダイレクトされるため、domain.com/home
にアクセスして滞在する方法はありません。
誰がどうやって/どこでこれをやるかの手がかりを持っていますか? php $_SERVER
変数を調べて書き換え規則を変更しようとしましたが、そのような状況に確実に一致する規則が見つかりません。 (home
ページがid
のページには1つの規則がありますが、これを確実にターゲットにすることはできません(そして実際にはdomain.com/
- > domain.com/home
をルーティングすると思います)。
繰り返しになりますが(そしておそらくは明確にするために)、どのようにしてwordpressの 'frontpage'をドメインのルートで利用できるようにするのでしょうか(デフォルトで機能しているように)。
リダイレクトは redirect_canonical()
- のおかげです。フィルタを使って急いでそれを無効にし、フロントページで無効にすることができます。
function wpse_184163_disable_canonical_front_page( $redirect ) {
if ( is_page() && $front_page = get_option( 'page_on_front' ) ) {
if ( is_page( $front_page ) )
$redirect = false;
}
return $redirect;
}
add_filter( 'redirect_canonical', 'wpse_184163_disable_canonical_front_page' );
今、あなたはルートでフロントページにアクセスすることができます と それはスラッグ、リダイレクトなしで。
私があなたを正しく理解したならば、あなたはあなたのホームページも表示するためにあなたのdomain.com/home
がちょうど必要ですか?これをあなたの/wp-content
などと同じフォルダ内のhome
という名前のフォルダに作成するだけです。
それにindex.phpという名前を付けます
?php
header("Location: http://domain.com");
exit();
?>