Apache mod_rewrite субдомен к подпапке (через внутреннее перенаправление)

Deitel и Deitel, "C++: как программировать"

тестовые шаблоны XUnit

6
задан Jim Rubenstein 22 July 2009 в 18:31
поделиться

2 ответа

Вы пробовали использовать другое правило перезаписи для обработки предыдущего?

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 / на /.

0
ответ дан 17 December 2019 в 02:32
поделиться

Некоторые вопросы:

Вы сказали «внутренняя карта» - вы НЕ хотите использовать перенаправление ?

Вы используете один и тот же VirtualHost для gnome.bob.mysite.com и bob.mysite.com

Вы не забыли создать ServerAlias ​​для *. Bob .mysite.com ?


Вот приблизительная версия, которую вы можете изменить для работы. Он захватит субдомен и запрошенный URL,
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]',    
0
ответ дан 17 December 2019 в 02:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: