Deitel и Deitel, "C++: как программировать"
тестовые шаблоны XUnit
Вы пробовали использовать другое правило перезаписи для обработки предыдущего?
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+)\.bob\.my-domain\.com
RewriteCond %{REQUEST_URI} !^/%1.*
RewriteRule ^(.*)$ /%1/$1 [C]
RewriteRule ^/(.*)\.bob\.my-domain\.com/(.*) /$1/$2 [L]
Но я думаю, что ваша большая проблема заключается в том, что ваш сервер не понимает, что он обслуживается под другим name.
Он думает, что он запущен в каталоге / gnome /, в то время как браузер работает в каталоге /. Поэтому любые относительные URL-адреса, которые у вас есть, будут вызывать проблемы.
Что вам нужно, так это фильтр, который будет пропускать все URL-адреса на вашей странице через процессор и изменять их с / gnome / на /.
Некоторые вопросы:
Вы сказали «внутренняя карта» - вы НЕ хотите использовать перенаправление ?
Вы используете один и тот же VirtualHost для gnome.bob.mysite.com
и bob.mysite.com
Вы не забыли создать ServerAlias для *. Bob .mysite.com
?
ServerName www.mysite.com
ServerAlias *.mysite.com
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]+)\\.mysite.com$
RewriteRule ^/(.*) http://www.mysite.com/%1/$1 [R=301,L]',