Подтвердить что ты не робот

Как сделать .htaccess RewriteCond проверить доменное имя?

У меня есть это правило:

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

Как я могу изменить его так, чтобы он работал только для определенного домена, например www.domain.com?

4b9b3361

Ответ 1

Вам нужно условие перезаписи:

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

перед правилом перезаписи.

Если вы перечислите несколько условий перезаписи перед своими правилами, каждый из них должен соответствовать для RewriteRule, который должен быть выполнен, например:

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

который, конечно, НЕ будет работать, потому что HTTP_HOST не может одновременно содержать оба значения.

Затем вы должны использовать модификатор [OR]:

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

так что RewriteRule выполняется, если ЛЮБЫЕ из указанных выше условий соответствуют.

Подробнее см. http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond.