Proxy reverso do Apache | Reencaminhamento do directório curinga (.htaccess)

1

Como seria possível ter um proxy de diretório curinga?

Eu tenho o básico, mas o problema é que ele fornece o diretório em que estou, meu arquivo htaccess:

RewriteEngine on

RewriteCond %{REQUEST_URI}  !(u|api|fonts|images|css|js) [NC]

# No directory

RewriteRule ^(.*)\.(jpg|gif|png|txt|mp4|mp3|json|js|zip|bmp|tiff|webp|webm|raw|psd|jpeg|jpe|wav)(.*) http://127.0.0.1:9000/owoapi/$1.$2$3?%{QUERY_STRING} [proxy]

# One Directory
RewriteRule ^([^/]+)/(.*)\.
(jpg|gif|png|txt|mp4|mp3|json|js|zip|bmp|tiff|webp|webm|raw|psd|jpeg|jpe|wav)
(.*) http://127.0.0.1:9000/owoapi/$1.$2$3?%{QUERY_STRING} [proxy]

Ao visitar domain.tld/image.png , funciona muito bem.

Ao visitar domain.tld/test/image.png , é 404 devido ao fato de que inclui / test / na URL do proxy, como eu iria consertar isso?

Edit: O que eu estou tentando alcançar é não incluir o URL anterior e fazê-lo agir como se estivesse sendo acessado via domain.tld/image.png em vez de domain.tld/test/image.png

    
por Azzeh 24.07.2017 / 14:34

1 resposta

0
# One Directory
RewriteRule ^([^/]+)/(.*)\. ......

Basta remover as chaves ao redor do primeiro padrão capturado (já que você não precisa capturar esse grupo):

RewriteRule ^[^/]+/(.*)\. ......

Note que isso lida apenas com um segmento de subdiretório (que eu suponho que seja a intenção).

Como alternativa, você poderia ter alterado as referências anteriores de $1.$2$3 para $2.$3$4 .

UPDATE # 1: Além do acima, você precisará alterar o bloco "No directory" anterior para que ele realmente corresponda ao diretório no . Como está, ele está combinando todo o caminho da URL (ou seja, diretórios) e então a segunda regra não está sendo processada ...

# No directory
RewriteRule ^(.*)\.(jpg|gif| ......

Mude para:

RewriteRule ^([^/]+)\.(jpg|gif| ......

UPDATE # 2: Para manipular (e ignorar) qualquer nível de subdiretório, simplesmente remova o início da âncora de string (ou seja, ^ ) do padrão acima RewriteRule . Por exemplo:

RewriteRule ([^/]+)\.(jpg|gif| ......
    
por 24.07.2017 / 15:05