web-dev-qa-db-ja.com

Htaccessファイルで異なるドメイン用の書き換えルールを作成する WP マルチサイト

通常、WordPress Webサイトが1つある場合は、ドメインの.htaccessファイルに書き換え規則を簡単に作成できます。たとえば、ドメインがDomainA.comで、次の書き換え規則があるとします。

RewriteRule ^i-like-([a-zA-Z0-9-]+)/$ wp-content/themes/customtheme/custom-pages/ilike.php?like=$1 [L]

DomainA.com/i-like -...が表示されます。

しかし、私が以下のドメインを持つマルチサイトを持っているとしたらどうでしょうか。

  • DomainA.com(プライマリドメイン)
  • DomainB.com(マッピングドメイン)
  • DomainC.com(マッピングドメイン)

そして、私は上記のような特定のファイルのためにDomainB.comのための書き換え規則を作りたいですか?

これを達成する方法はありますか?

1
Erik

特定のドメインをターゲットにしたい場合は、特定のドメインをチェックするRewriteCondの前にconditionRewriteRuleディレクティブ)が必要です(Host:ヘッダー)。例えば:

RewriteCond %{HTTP_Host} ^domainb\.com [NC]
RewriteRule ^i-like-([a-zA-Z0-9-]+)/$ wp-content/themes/customtheme/custom-pages/ilike.php?like=$1 [L]

HTTP_Hostサーバー変数には、要求で送信されたHost:ヘッダーだけが含まれています。

参照:
http://httpd.Apache.org/docs/current/mod/mod_rewrite.html#rewritecond

1
MrWhite