Redireciona qualquer coisa dentro do diretório / attachments / acima de um nível, mas também remove qualquer coisa depois de / attachments /

1

O WordPress cria uma página de anexo para todas as imagens enviadas pelo editor de postagem e "anexadas" a essa postagem. Depois de migrar um site, essas páginas de anexo não existem mais e agora temos cerca de 1000 links apontados para os 404.

Então, eu estava procurando uma maneira de fazer um redirecionamento para qualquer url que tenha / anexar / em sua string e, em seguida, empurrar o URL de volta para um nível (que é a página do post). por exemplo:

link (que não existe) irá para link (que existe).

Além de redirecionar um nível acima, também preciso remover qualquer coisa depois de / attachment / (neste caso, a "imagem da página".

Alguma sugestão?

Obrigado antecipadamente

    
por Rich Staats 07.04.2012 / 00:53

1 resposta

1

Isso soa como uma reescrita extremamente simples; a menos que algo esteja faltando, você pode usar:

RewriteRule ^(.*)/attachment/?.*$ $1/

Então, alguns casos de teste:

/2012/news/blog-post-title/attachment/image-page/ -> /2012/news/blog-post-title/
/2012/news/blog-post-title/attachment             -> /2012/news/blog-post-title/
/2012/news/blog-post-title/attachments            -> N/A

Espero que isso ajude!

    
por 07.04.2012 / 02:20