web-dev-qa-db-fra.com

Créez des rewriterules pour différents domaines dans un fichier htaccess avec WP multisite

Normalement, si vous avez un site Web WordPress, il est facile de créer des règles de réécriture dans le fichier .htaccess pour votre domaine. Par exemple, si votre domaine est DomainA.com et que vous avez la règle de réécriture suivante:

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

Vous obtiendrez DomainA.com/i-like -...

Mais que se passe-t-il si j'ai un multisite avec les domaines suivants:

  • DomainA.com (domaine principal)
  • DomainB.com (domaine mappé)
  • DomainC.com (domaine mappé)

Et je veux créer une règle de réécriture pour DomainB.com pour un fichier spécifique comme ci-dessus?

Y a-t-il un moyen d'y parvenir?

1
Erik

Si vous souhaitez cibler un domaine spécifique, vous avez besoin d'une condition (directive RewriteCond), précédant la RewriteRule qui vérifie le domaine spécifique (en-tête Host:). Par exemple:

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

La variable serveur HTTP_Host contient uniquement l'en-tête Host: envoyé dans la demande.

Référence:
http://httpd.Apache.org/docs/current/mod/mod_rewrite.html#rewritecond

1
MrWhite