ProxyPass se RewriteCond for TRUE

3

No arquivo de configuração proxypass eu escrevi esta linha

ProxyPass /directory/ ajp://localhost:8009/directory/

Funciona perfeitamente

No arquivo htaccess

RewriteRule ^seconddirectory/(.*)$ http://domain.com.localhost/directory/$1 [P]

O sinalizador P implica L.

Isso também funciona

Se eu usar apenas [L], também funciona. Enfim, vai combinar com ProxyPass.

Mas eu quero o Proxy redireciona via AJP somente se um referer contiver / action se você não puder usar o ProxyPass

Eu tentei fazer uma condição com RewriteCond

RewriteCond %{HTTP_REFERER}% !/action
RewriteRule .? - [S=2]
  RewriteRule ^seconddirectory/(.*)$ https://domain.com.localhost/directory/$1 [L]
  RewriteRule .? - [S=1]
RewriteRule ^seconddirectory/(.*)$ https://domain.com.localhost/404 [L]

Se (referer no contains / action), neste caso, está pulando 2 linhas e é redirecionado para uma página 404

Se o URL for

link

Estou sendo redirecionado para o link

Isso está correto

Se o referenciador contiver / action

Eu não sou redirecionado para o link $ 1

Este é o referenciador de onde venho do link (referer)

Alguma sugestão?

    
por Jvrq 21.07.2013 / 23:42

1 resposta

2

O que você está procurando é o [P] sinalizador de RewriteRule . Algo parecido com isto:

RewriteCond %{HTTP_HOST} ^alias.domain.com$ [I]
RewriteRule ^/(.*)$ http://myinternalserver.com/$1 [P,L]
    
por 22.07.2013 / 07:11