site.comというドメインを使用してサーバーにマルチサイトのWordPressをインストールしていて、WordPressにサブドメインの設定があるので、サブサイトはsub1.site.com、sub2.site.comなど.
これに加えて、メインサイトは、site.com/something
のように、WordPressに関連しない他のサブフォルダのサービスを持っています。
サブサイトの顧客が投稿名でパーマリンクを使用し、メインサイトのサブフォルダの1つと同じタイトルを使用している場合を除き、すべてがうまく機能しています。たとえば、sub1.site.com/something
はsite.com/something
と同じ場所に移動します。
(.htaccess
またはhttpd.conf
を編集して)できることはありますか?
あるいは、これらのURLの衝突を防ぐために、WordPressをメインサイト(site.com/wordpress
)のサブフォルダに移動するだけでいいのですか?
スラッグが既存のディレクトリと一致するのを防ぐことができます。それには2つのフィルタがあります。
例、未テスト:
add_filter(
'wp_unique_post_slug_is_bad_hierarchical_slug',
'prevent_directory_slugs',
10,
2
);
add_filter(
'wp_unique_post_slug_is_bad_flat_slug',
'prevent_directory_slugs',
10,
2
);
function prevent_directory_slugs( $bool, $slug )
{
return is_dir( ABSPATH . '/' . $slug );
}