Esta é uma extensão da minha pergunta https://serverfault.com/a/761474/77231
Estou tentando adicionar um QUERY STRING
parâmetro adicional ao URL e alterar os espaços para sublinhados, mas não estou obtendo sucesso.
Em vez de simplesmente mudar:
http://somedomainname.com/grafana/dashboard/db/generic-ping?var-device=SF-some.machinename.com
para:
http://somedomainname.com/grafana/dashboard/db/generic-ping?var-device=SF-some_machinename_com
Estou tentando alterar um parâmetro adicional como:
http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some.machinename.com&var-check=Check CPU Load
para:
http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some_machinename_com&var-check=Check_CPU_Load
Usando a mesma lógica da minha pergunta respondida anteriormente, consigo fazer a primeira parte funcionar usando:
RewriteCond %{QUERY_STRING} (.*)\.(.*)\.(.*)
RewriteRule ^/grafana/dashboard/db/generic-check /grafana/dashboard/db/generic-check?%1_%2_%3 [R=301]
Mas isso obviamente só me dá a primeira parte e sai como:
http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some_computername_com&var-check=Check%2520CPU%2520Load
Eu adicionei uma QUERY_STRING
regra adicional e reescrita como:
RewriteCond %{QUERY_STRING} ^&var-check=(.*)\ (.*)\ (.*)
RewriteRule ^&var-check var-check=%1_%2_%3 [R=301]
...sem sucesso.
Eu também tentei combinar os dois:
RewriteCond %{QUERY_STRING} (.*)\.(.*)\.(.*)&(.*)\ (.*)\ (.*)
RewriteRule ^/grafana/dashboard/db/generic-check /grafana/dashboard/db/generic-check?%1_%2_%3&%4_%5_%6 [R=301]
..também sem sucesso, bem como usando %20
\s
e %2520
em vez de \
e um espaço... bem como todos com separador de canos tipo \ |\s|%20|%2520
.
Idealmente, gostaria que este trabalho fosse reescrito, mas ficaria feliz em fazê-lo funcionar. Qualquer ajuda é apreciada.
Consegui isso adicionando a seguinte condição e regra.
Infelizmente, preciso repetir esta condição/regra para quantas vagas surgirem. Eu tentei um monte de condições diferentes e as regras
[N]
pareciam nunca fazer o que deveriam fazer.Ainda estou aberto a respostas, pois sinto que isso pode ser feito de maneira melhor, mais confiável e/ou mais robusta.