Question

Je change ma structure de permaliens Wordpress de %year%/%months%/ à %postname%

J'ai donc créé ces règles d'alias de mod dans .htaccess Mais j'ai un problème:

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

Les règles redirigent également les images vers le répertoire wp-content, donc domainname.com/wp-content/uploads/2013/11/name.jpg devenir nom de domaine.com/nom.jpg

Je ne peux pas utiliser RewriteCond car ce RedirecMatch est mod_alias, j'essaie d'utiliser !^/(wp-content.*)$ mais ça ne marche pas.

Comment puis-je résoudre?Il vaut mieux utiliser RedirectMach ou RewriteRule (je n'ai pas changé de serveur) ?

Pouvez-vous poster un meilleure expression régulière?

Merci!

Était-ce utile?

La solution

Vous devriez probablement vous en tenir à l'utilisation de mod_rewrite au lieu de mod_alias car cela interférera avec les règles mod_rewrite de wordpress.mod_rewrite et mod_alias affectent le même URI de requête à différents points du pipeline de traitement du fichier URL, vous pourriez donc finir par être redirigé et réécrit en même temps.

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

Autres conseils

Essayer ^ et $:

RedirectMatch 301 ^/\d{4}/\d{2}/([^/]+)(/?)(.*)$ http://domainname.com/$1
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top