2016-02-24 2 views
1

Lors de la mise à jour de WordPress, j'ai trouvé que les plugins qui génèrent des slugs ne peuvent pas utiliser un slug déjà utilisé par une autre page. Je dois maintenant m'assurer que quiconque essaye les anciennes urls sera redirigé vers le nouveau sans affecter la page principale.Redirection des sous-dossiers sans affecter le répertoire principal

J'ai donc /members/ une liste des membres et vous pouvez cliquer sur les membres pour aller à /member/[name] je dois rediriger /members/[name] au /member/[name] ([nom] peut être quelque chose il doit être un caractère générique.)

J'ai utilisé les deux règles htaccess suivantes (pas en même temps) mais elles finissent toujours par rediriger la page/members/page qui casse tout.

RewriteRule ^members/(.*) http://domain.tld/member [R=301,L] 

RedirectMatch 301 ^/members/.*$ http://domain.tld/member 

Qu'est-ce que je manque de faire redirect que s'il y a quelque chose après la /

Sidenote: J'ai essayé de trouver une réponse à cette question, mais tous les résultats que j'ai trouvé sont en train de faire la exact opposé (redirigeant seulement la correspondance exacte de/membres /) dont j'ai besoin et ne fonctionnera pas.

Répondre

1

Vous n'utilisez pas la partie capturée de la demande.

Essayez:

RedirectMatch ^/members/(.+)$ /member/$1 
+0

oh, ce n'est pas bon, d'accord J'ai réparé cela mais/membres ... peu importe votre mise à jour le corrigé :) – zfb

0

Essayez cette

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
Redirect 301 /oldDir/old.php http://yourDomain/newDir/new.php 
+0

Cela ne ressemble pas à ce que je suis en train d'accomplir? que se passe-t-il exactement ici^(. *) $ http: //% 1/$ 1'? – zfb

+0

Je ne connais pas les détails. Je sais juste que ça marche pour moi. – Kobbe

+0

Oh je pense que vous vous méprenez, je voudrais rediriger un joker de sous-répertoires comme/membres/1/membres/2 etc. Aussi, je pense que je comprends votre 'http: //% 1/$ 1' il semble utiliser un caractère générique pour "www" au cas où ce n'est pas là je crois. – zfb