Здравствуйте. У меня проблема с поддоменами с подстановочными символами в htaccess и mod_rewrite.
Я хочу, чтобы www.domain.com/index.php?foo=x&bar=y был переведен на xy.domain.com
Мой htaccess выглядит следующим образом
RewriteCond %{HTTP_HOST} !^www.domain.com$
RewriteCond %{HTTP_HOST} ^(.*?)-(.*?).domain.com$
RewriteRule (.*) /index.php?foo=%1&bar=%2
Эта работа, но с одной незначительной проблемой, если я захожу на xy.domain.com.Его показ www.domain.com, но если я перейду к xy.domain.com/z («z» может быть любым значением, даже «asdfasdfasdfasdfasdf»), он показывает нужную страницу, мое приложение не использует z для чего-либо, только тамбез причины, но необходимо показать правильную страницу.
Решение
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.*?)-(.*?).domain.com$ [NC]
RewriteRule (.*) index.php?foo=%1&bar=%2 [NC]
Я не знаю, почему это работает, но работает