.htaccess não roteia conforme projetado ao reescrever datas

.htaccess não roteia conforme projetado ao reescrever datas

Eu tenho um .htaccess que não está funcionando como deveria. Eu tenho um site WP onde os proprietários decidiram mover o caminho base para as entradas do blog como /blog/, então todas as postagens estão sendo 404 agora provenientes dos mecanismos de pesquisa. Embora eu tenha trabalhado os redirecionamentos para as postagens ok, as categorias de datas como "/2015/03" também precisam ser redirecionadas. Eu criei uma regra assim:

RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])
RewriteRule (.*) http://www.domain.com/blog/$1

que funciona muito bem emhttp://htaccess.madewithlove.be/

www.domain.com/2009/05 deve ir para: www.domain.com/blog/2009/05

Mas está fazendo agachamento no site. Eu tenho uma versão de desenvolvimento do site para mexer, para que possa testar e alterar sem danificar o site ativo. Seção mod_rewrite completa:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])/
RewriteRule ^(.*) http://www.domain.com/blog/$1

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Alguma pista? O servidor é Ubuntu com Apache2.

Responder1

Em .htaccessarquivos ^corresponde ao início deste subdiretório, portanto você não deve usar ^/em padrões.

Além disso, seu padrão 201[1-9]não corresponde a 2010.

informação relacionada