Usando regex no mod_sed do Apache

1. Usando regex no mod_sed do Apache

Lucas Felipe Rebello
lucas1105

(usa Linux From Scratch)

Enviado em 10/02/2020 - 09:48h

Olá,
Estou tentando usar expressões regulares com o mod_sed do Apache e por algum motivo não estou conseguindo fazer funcionar (Apache 2.4).
Estou usando a seguinte location:
<Location /websession>
ProxyPass http://127.0.0.1:8080
ProxyPassReverse http://127.0.0.1:8080
OutputSed 's|(^[/]{1}[a-zA-Z0-9]+)|/websession$1|g'
<Location>

A ideia é adicionar o path /websession para todos os badlinks que conterem nesse documento (seja html, javascript ou css) até os que são dinamicamente montados.
Por exemplo no webserver que estou fazendo o proxy, um dos javascript especifica esse endpoint no japascript:

var url_file_manager = "/file_manager?ticket=" + get_ticket();

bastaria mudar esse texto para:

var url_file_manager = "/websession/file_manager?ticket=" + get_ticket();

O regex acima não esta funcionando, mas consigo trocar se forem trocas literias (file_manager => /websession/filemanager), mas precisava que fosse montadas com o regex mesmo.
Esse mod_sed do apache funciona com regex? Se sim, o que estou fazendo de errado?
Obrigado!


  


2. Re: Usando regex no mod_sed do Apache

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/02/2020 - 15:22h

lucas1105 escreveu:

Olá,
Estou tentando usar expressões regulares com o mod_sed do Apache e por algum motivo não estou conseguindo fazer funcionar (Apache 2.4).
Estou usando a seguinte location:
<Location /websession>
ProxyPass http://127.0.0.1:8080
ProxyPassReverse http://127.0.0.1:8080
OutputSed 's|(^[/]{1}[a-zA-Z0-9]+)|/websession$1|g'
<Location>

A ideia é adicionar o path /websession para todos os badlinks que conterem nesse documento (seja html, javascript ou css) até os que são dinamicamente montados.
Por exemplo no webserver que estou fazendo o proxy, um dos javascript especifica esse endpoint no japascript:

var url_file_manager = "/file_manager?ticket=" + get_ticket();

bastaria mudar esse texto para:

var url_file_manager = "/websession/file_manager?ticket=" + get_ticket();

O regex acima não esta funcionando, mas consigo trocar se forem trocas literias (file_manager => /websession/filemanager), mas precisava que fosse montadas com o regex mesmo.
Esse mod_sed do apache funciona com regex? Se sim, o que estou fazendo de errado?
Obrigado!

A sua REGEX, não casa todo o conteúdo da var url_file_manager,
mod_sed não aceita "|",
Reveja!
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts