Tente isto:
RewriteRule ^(.*)$ http://test.com/$1 [R=301,L]
Tenho 2 virtualhosts que estão vendo /var/www/site1
(ServerName site1
) e /var/www/site2
(ServerName site2
). Desejo disponibilizar meus sites por http://1.2.3.4/site1
ou http://1.2.3.4/site2
definindo uma regra de reconfiguração em uma configuração padrão ( 000-default.conf
):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^1\.2\.3\.4
RewriteRule (.*) http://test.com/$1 [R=301,L]
mas os sites ainda estão disponíveis em http://1.2.3.4/site1
e http://1.2.3.4/site1
(embora o redirecionamento funcione para http://1.2.3.4/
).
O que estou fazendo de errado?
Tente isto:
RewriteRule ^(.*)$ http://test.com/$1 [R=301,L]
Há uma coisa que não consigo entender na maneira como você descreveu sua configuração:
http://1.2.3.4/site1
deve retornar um 404. e
http://1.2.3.4/site2
deve retornar um 404. No entanto, isso pode ajudar:
O doc diz:
By default,
mod_rewrite
configuration settings from the main server context are not inherited by virtual hosts. To make the main server settings apply to virtual hosts, you must place the following directives in each<VirtualHost>
section:
RewriteEngine On
RewriteOptions Inherit
Então, meu conselho seria definir RewriteOptions Inherit
para cada <VirtualHost>
que você tem.