Acho que você deveria tentar isso:
RewriteEngine on
RewriteRule ^(.*)_(.*)$ $1-$2 [N,R=301]
Para substituir _
por -
Eu mudei o meu site de um Wiki para o Wordpress e, no processo, percebi que eu tenho links quebrados para algumas páginas populares no meu site. É possível corrigir isso com uma regra de reescrita?
Eu preciso da regra para redirecionar qualquer coisa que comece com "^ / wiki /(.+)$" para "/ $ 1", mas também substitua o caractere "_" usado em slugs do MediaWiki por "-" usado em slugs do Wordpress. / p>
Por exemplo:
http://example.com/wiki/An_Example_Page
deve ser apontado para:
http://example.com/an-example-page
É possível escrever tal regra de reescrita?
Edit: Parece que o Wordpress nem se importa se a parte "/ wiki /" é removida - desde que o slug seja compatível, e que também não diferencia maiúsculas de minúsculas. Então tudo que eu preciso fazer é mudar os caracteres "_" para "-" nas lesmas.
Acho que você deveria tentar isso:
RewriteEngine on
RewriteRule ^(.*)_(.*)$ $1-$2 [N,R=301]
Para substituir _
por -
Tags mod-rewrite apache-2.4