Não inclui um diretório em .htaccess com RedirectMatch para Wordpress
-
20-12-2019 - |
Pergunta
Posso mudar o meu Wordpress permalink estrutura de %ano%/%meses%/ para %postname%
Assim que eu criar este mod alias regras .htaccess mas eu tenho um problema:
RedirectMatch 301 /\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1
As regras também redirecionar as imagens sob o wp-content directory e, portanto, domainname.com/wp-content/uploads/2013/11/name.jpg tornar-se domainname.com/name.jpg
Eu não posso usar RewriteCond porque este RedirecMatch é mod_alias, eu tento usar !^/(wp-content.*)$
mas não funciona.
Como eu posso resolver?É melhor usar RedirectMach ou RewriteRule (eu não mudei o servidor)?
Você pode postar uma melhor regex?
Obrigado!
Solução
Você provavelmente deve ficar com o uso do mod_rewrite em vez de mod_alias, porque ele vai interferir com o wordpress' mod_rewrite regras.Tanto o mod_rewrite e mod_alias afetam a mesma URI de solicitação em diferentes pontos do URL do arquivo de pipeline de processamento, de modo que você pode acabar ficando redirecionado e reescrito ao mesmo tempo.
RewriteCond %{REQUEST_URI} !\.(jpeg|gif|png)$ [NC]
RewriteRule ^\d{4}/\d{2}/([^/]+?)(/?)(.*)$ http://domainname.com/$1 [L,R=301]
Outras dicas
Tente ^
e $
:
RedirectMatch 301 ^/\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1