У меня в htaccess есть такие:
RewriteCond %{HTTP_HOST} !^foo
RewriteCond %{HTTP_HOST} !^bar
RewriteCond %{HTTP_HOST} !^some
RewriteRule ^register,(.*)$ /register.html [R=301,L]
RewriteRule ^offer,(.*)$ /offer.html [R=301,L]
Он перенаправляет меня, если я напишу http://foo.domain.com/register,one.html Я хочу это только на http://domain.com/register,one.html или http://www.domain.com/register,one.html
Что случилось?
В приведенном вами примере вы наверняка не будете перенаправлены.
Однако похоже, что вы ожидаете RewriteCond
директивы, применяемые к обоим RewriteRule
директивы - их нет. Они применимы только к RewriteRule
что сразу следует за ними.
Итак, в вашем примере http://foo.domain.com/register,one.html
воля не перенаправить вас - но http://foo.domain.com/offer,one.html
воля.
Возможно, вам понадобится что-то еще в этом роде:
RewriteCond %{HTTP_HOST} !^(foo|bar|some)
RewriteRule ^register,(.*)$ /register.html [R=301,L]
RewriteCond %{HTTP_HOST} !^(foo|bar|some)
RewriteRule ^offer,(.*)$ /offer.html [R=301,L]