Redirecionando uma URL específica para um vhost diferente no apache

1

Eu tenho duas versões de um aplicativo ruby-on-rails muito pequeno em execução no meu servidor web. Uma é veiculada externamente (produção) e uma é veiculada apenas em uma URL da intranet (teste). Então eu tenho dois hosts virtuais e eles funcionam bem.

Meu objetivo é fornecer a documentação gerada para a base de código abaixo do domínio do servidor de temporariedade, mas basta configurar um vhost e um docroot diferentes e despejar todos os arquivos HTML estáticos lá. Não estou claro como configurá-lo no httpd.conf.

Então, o objetivo é ter:

staging.foo.com/ - > rails app vhost (apontado para / var / www / rails / foo /)

e

staging.foo.com/doc/ - > documentação vhost (apontada em / var / www / doc / foo /)

Desculpe pela falta de jeito da pergunta; Tenho certeza de que isso pode ser feito com o mod_rewrite, mas depois de ler os documentos várias vezes, ainda estou perdida sobre como realizar esse Feat of Strength.

    
por whazzmaster 30.07.2010 / 22:10

1 resposta

1

Você pode especificar a regra de regravação, como mostrado neste exemplo:

<VirtualHost 172.20.30.40>
   DocumentRoot /www/subdomain/sub2
   ServerName www.sub2.domain.tld
   ServerPath /sub2/
   RewriteEngine On
   RewriteRule ^(/sub2/.*) /www/subdomain$1
 </VirtualHost>

Use o ServerPath como deseja ( doc em seu exemplo) e, em seguida, use RewriteRule para vincular o ServerPath ao novo local. Não se esqueça dos $ 1 (parte correspondente).

Não se esqueça de carregar o mod_rewrite no apache.

    
por 30.07.2010 / 23:41