Tengo un .htaccess que no funciona como creo que debería. Tengo un sitio WP en el que los propietarios decidieron mover la ruta base para las entradas del blog como /blog/, por lo que ahora todas las publicaciones son 404 desde los motores de búsqueda. Si bien he trabajado bien con las redirecciones de las publicaciones, las categorías de fechas como "/2015/03" también necesitan redireccionamiento. He creado una regla así:
RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])
RewriteRule (.*) http://www.domain.com/blog/$1
que funciona muy bien enhttp://htaccess.madewithlove.be/
www.domain.com/2009/05 debe ir a: www.domain.com/blog/2009/05
Pero no está haciendo nada en el sitio. Tengo una versión de desarrollo del sitio con la que puedo jugar para poder probar y cambiar sin dañar el sitio en vivo. Sección 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>
¿Alguna pista? El servidor es Ubuntu con Apache2.
Respuesta1
In .htaccess
files ^
coincide con el inicio de este subdirectorio, por lo que no debes usarlo ^/
en patrones.
Además, su patrón 201[1-9]
no coincide con el de 2010.