У меня есть две версии очень маленьких приложений ruby-on-rails, работающих на моем веб-сервере. Один обслуживается извне (производственный), а другой обслуживается только по URL-адресу интрасети (промежуточный). Итак, у меня есть два виртуальных хоста, и они хорошо работают.
Моя цель - обслужить сгенерированную документацию для базы кода под доменом промежуточного сервера, но просто настроить другой виртуальный хост и docroot и выгрузить туда все статические файлы HTML. Я не понимаю, как это настроить в httpd.conf.
Итак, цель - иметь:
staging.foo.com/ -> rails app vhost (указывает на / var / www / rails / foo /)
и
staging.foo.com/doc/ -> vhost документации (указывает на / var / www / doc / foo /)
Извините за неуклюжесть вопроса; Я почти уверен, что это можно сделать с помощью mod_rewrite, но, прочитав документы несколько раз, я все еще не понимаю, как выполнить этот Подвиг силы.
Вы можете указать правило перезаписи, как показано в этом примере:
<VirtualHost 172.20.30.40>
DocumentRoot /www/subdomain/sub2
ServerName www.sub2.domain.tld
ServerPath /sub2/
RewriteEngine On
RewriteRule ^(/sub2/.*) /www/subdomain$1
</VirtualHost>
Использовать ServerPath Как ты хочешь (док в вашем примере), а затем используйте RewriteRule чтобы привязать ServerPath к новому местоположению. Не забудьте $ 1 (согласованная часть).
Не забудьте загрузить mod_rewrite в apache.