Pregunta

Cambio mi estructura de enlace permanente de Wordpress de %año%/%meses%/ a %postname%

Entonces creo estas reglas de alias mod en .htaccess pero tengo un problema:

RedirectMatch 301 /\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1

Las reglas también redirigen las imágenes en el directorio wp-content, por lo que nombrededominio.com/wp-content/uploads/2013/11/nombre.jpg convertirse nombre de dominio.com/nombre.jpg

No puedo usar RewriteCond porque este RedirecMatch es mod_alias, trato de usar !^/(wp-content.*)$ pero no funciona.

¿Cómo puedo resolver??¿Es mejor usar RedirectMach o RewriteRule (no he cambiado el servidor)?

¿Puedes publicar un mejor expresión regular?

¡Gracias!

¿Fue útil?

Solución

Probablemente deberías seguir usando mod_rewrite en lugar de mod_alias porque interferirá con las reglas mod_rewrite de WordPress.Tanto mod_rewrite como mod_alias afectan el mismo URI de solicitud en diferentes puntos del proceso de procesamiento del archivo URL, por lo que podría terminar siendo redirigido y reescrito al mismo tiempo.

RewriteCond %{REQUEST_URI} !\.(jpeg|gif|png)$ [NC]
RewriteRule ^\d{4}/\d{2}/([^/]+?)(/?)(.*)$ http://domainname.com/$1 [L,R=301]

Otros consejos

Intentar ^ y $:

RedirectMatch 301 ^/\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top