Redirecionar usuários do subdomínio anterior para o novo URL

1

Recentemente, fui morar com um novo website e um dos departamentos do campus direcionou os usuários para um domínio virtual.

Por exemplo, www.ia.domain.com mascarou-se como seu próprio site, que na verdade era domain.com/ia

O que eu quero fazer é redirecionar todos que acessarem www.ia.domain.com, para acessar domínio.com/ia,

, bem como www.ia.domain.com/faculty/ = > domain.com/ia/faculty /

Esta é uma nova caixa, por isso não tem a configuração original.

O site está sendo executado no Apache, usando o linux (rhel5).

Eu não estou familiarizado com o mod_rewrite. Fiz redirecionamentos 301, mas não consigo redirecionar um subdomínio virtual dessa maneira.

    
por Brad 25.08.2009 / 15:33

4 respostas

1

Que tal não usar mod_rewrite e usar a instrução de redirecionamento.

#Virtual Host for IA sub web
<VirtualHost *:80>
   ServerName www.ia.domain.com
   ServerAlias <other domain names they want to associate with this directory; ex: ia.domain.com>
   Redirect permanent / http://www.domain.com/ia_new_web_location/
</VirtualHost>
    
por 26.08.2009 / 04:42
1

Você precisará de um host virtual baseado em nome configurado para www.ia.domain.com

Dentro do bloco de configuração de virtualhost, a seguinte regra para mod_rewrite deve fazer o seguinte:

RewriteRule ^/(.*) http://domain.com/ia/$1 [R]
    
por 25.08.2009 / 15:47
1

Aqui está o que eu esperava que funcionasse, na sua configuração do Apache (/etc/httpd/conf.d ou /etc/apache2/conf.d, um arquivo chamado, por exemplo, domain.com.conf):

Isso pode precisar ser ajustado dependendo de quais outras configurações do Apache você tem, é claro.

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName www.ia.example.com
   ServerAlias ia.exmaple.com
   Redirect permanent /(.*) http://www.example.com/ia/$1
</VirtualHost>

<VirtualHost *:80>
   #  Your normal website configurations here
</VirtualHost>

Sean

    
por 03.09.2009 / 05:34
0

se você quiser um redirecionamento transparente, tente o seguinte:

rewriteCond %{HTTP_HOST} ^www.ia.domain.com
rewriteRule ^/faculty(.*) domain.com/ia/faculty$1 [P]

O servidor apache usa o módulo proxy (você precisa ativar o módulo proxy) para fazer um redirecionamento transparente (sem código 301 ou 302 http)

    
por 25.08.2009 / 17:20