web-dev-qa-db-ja.com

マルチサイトワードプレスとサブドメインURLの衝突

site.comというドメインを使用してサーバーにマルチサイトのWordPressをインストールしていて、WordPressにサブドメインの設定があるので、サブサイトはsub1.site.comsub2.site.comなど.

これに加えて、メインサイトは、site.com/somethingのように、WordPressに関連しない他のサブフォルダのサービスを持っています。

サブサイトの顧客が投稿名でパーマリンクを使用し、メインサイトのサブフォルダの1つと同じタイトルを使用している場合を除き、すべてがうまく機能しています。たとえば、sub1.site.com/somethingsite.com/somethingと同じ場所に移動します。

.htaccessまたはhttpd.confを編集して)できることはありますか?

あるいは、これらのURLの衝突を防ぐために、WordPressをメインサイト(site.com/wordpress)のサブフォルダに移動するだけでいいのですか?

3
Kari

スラッグが既存のディレクトリと一致するのを防ぐことができます。それには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 );
}
1
fuxia