2012-05-28 8 views
17

tengo esta regla:Cómo hacer .htaccess RewriteCond check domain name?

RewriteRule ^(about|installation|mypages|privacy|terms)(/)*$  
/index.php?kind=portal&id=1&page=$1&%{QUERY_STRING} [L] 

¿Cómo puedo cambiarlo por lo que funcionaría sólo para un dominio específico, www.domain.com por ejemplo?

Respuesta

30

Usted necesita una condición de reescritura:

RewriteCond %{HTTP_HOST} ^www.domain.com$ 

antes de que su regla de reescritura.

Si lista varias condiciones de reescritura antes de que sus reglas, cada uno de ellos debe coincidir con el RewriteRule para ser ejecutado, por ejemplo:

RewriteCond %{HTTP_HOST} ^www.domain.com$ 
RewriteCond %{HTTP_HOST} ^www.domain2.com$ 

que por supuesto no funciona, debido a que el HTTP_HOST no puede contener simultáneamente valores.

A continuación, debe utilizar el [OR] modificador:

RewriteCond %{HTTP_HOST} ^www.domain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.domain2.com$ 

de modo que el RewriteRule se ejecuta si cualquiera de las condiciones partido anteriormente.

Consulte http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond para obtener más información.

Cuestiones relacionadas