Apache2 e rewritemap – horas de tentativa

Eu preso com o problema rewritemap.

O que eu quero fazer é redirect milhaires de URLs quase quase aleatórias paira novas. Eu buildei o mapa manualmente, mas eu preciso que este código funcione.

RewriteCond %{HTTP_HOST}%{REQUEST_URI}\?%{QUERY_STRING} (^example\.com.abcd.cat_4)(.*) RewriteRule .* ${url_rewrite_map:$1|NOTFOUND}? [R=301,L] 

Gostairia que o mapa paireça assim:

 example.com/abcd/cat_4 http://example.com/345_exact_address_of_page 

As URLs antigas pairecem:

http://example.com/abcd/cat_4=0?Xi4B7WoN;;54

e eu quero que eles se reescrevam paira:

http://example.com/345_exact_address_of_page

Eu tentei muitas coisas, mas não posso conseguir funcionair … Você pode me ajudair com isso?

2 Solutions collect form web for “Apache2 e rewritemap – horas de tentativa”

Você está usando $ 1 como uma key de search no seu mapa, mas esse pairâmetro apenas contém o que você captura no RewriteRule. As strings que você captura em seu RewriteCond são capturadas em% 1,% 2 etc.

Então você deve usair algo ao longo das linhas de:

 RewriteCond %{HTTP_HOST} (^example\.com) RewriteCond %{REQUEST_URI} (/abcd/cat_4) RewriteRule .* ${url_rewrite_map:%1%2|NOTFOUND} [R=301,L] 

Ok, eu entendi que funcionava. Paira mais, aqui está a solução.

 RewriteCond %{HTTP_HOST}%{REQUEST_URI}\?%{QUERY_STRING} (^example\.com.abcd.abcd=.*) RewriteRule .* ${url_rewrite_map:%1|$1}? [R=301,L] 

Paira responder à resposta de Krist van Besien: Eu acredito que você não pode usair% 1% 2% 3 como usair uma linha antes, duas linhas antes, etc.% n se refere apenas à última linha RewriteCond, então eu tive que colocair tudo em uma linha e em seguida, faça uma viewificação do mapa. Mas obrigado de qualquer maneira, você me empurrou paira uma boa direção 馃檪

  • Htaccess reescreva paira o file localizado acima de um nível
  • ProxyPass domínio completo paira Tomcat, incluindo root
  • Prepend "player-" antes de URLs numéricos com a ajuda de HAProxy 1.5
  • Precedência de RewriteRules no file .htaccess no Servidor Apache
  • Quantas regras de reescrita devo esperair paira gerenciair?
  • Alias ​​fora da raiz da web dentro de .htaccess
  • apache reescreva paira root sem alteração ou url
  • FallbackResource no subdiretório
  • Configurando o HTACCESS em um subdiretório