htaccess redirecionar para porta

1

Eu preciso redirecionar subdominio.example.com - > subdominio.exemplo.com:32400/web

Meu htaccess atual é:

Options -MultiViews +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.example.com [NC]
RewriteRule (.*) http://subdomain.example.com:32400/web [R=301,L]

AuthUserFile /var/.htpasswd
AuthName Welcome
AuthType Basic

require user someone

IndexOptions +ShowForbidden
ErrorDocument 401 /error401.html
ErrorDocument 404 /errorGeneric.html
ErrorDocument 500 /errorGeneric.html

No entanto, recebo 500 erros do Servidor Interno com o redirecionamento ativado, se o redirecionamento não estiver ativo, então o .htaccess funciona bem

    
por Rob 01.04.2014 / 14:43

3 respostas

0

Para casos simples, você não precisa usar mod_rewrite . Pode ser suficiente usar mod_proxy ; algo como:

ProxyPass / http://subdomain.example.com:32400/web
ProxyPassReverse / http://subdomain.example.com:32400/web 

(não testado)

    
por 01.04.2014 / 18:46
0

Você tentou a diretiva RewriteLog , com RewriteLogLevel algo acima de 0 ?

É possível que você tenha um impasse de reescrita? qual serviço é executado na porta 32400 ?

Editar: A disponibilidade de RewriteLog depende da versão do Apache; para o Apache 2.4+, as regras da diretiva LogLevel regravam o registro também (consulte a documentação do LogLevel ), por exemplo LogLevel rewrite:trace4

    
por 01.04.2014 / 15:06
0

Se os documentos de erro precisarem ser atendidos pelo Apache, e não pelo processo do servidor de back-end (que atende à porta 32400), é necessário protegê-los de serem reescritos; por exemplo:

RewriteCond !^/error(401|Generic).html

antes de seu RewriteRule (você pode encadear 1 para n condições que precisarão ser atendidas para o seguinte RewriteRule a ser executado).

    
por 23.07.2015 / 21:20