2011-02-12 4 views
1
Options +FollowSymlinks 
RewriteEngine on 

RewriteBase/
RewriteCond %{REQUEST_URI} !^category?$ 
RewriteRule ([^/]+)/([^/]+)/([^/]+)/$ http://domain.com/$3/ [L,R=permanent] 

Actuellement, j'ai la redirection suivante et cela fonctionne comme un charme. Maintenant je veux m'assurer que le lien ne commence pas par/category/donc j'ai inséré la condition. Malheureusement, cela ne semble pas fonctionner. S'il vous plaît aider. Merci.301 Rediriger avec .htaccess

Une autre question est, comment faire pour que le permalien de fin qui est entre la barre oblique est sélectionné pour être redirigé seulement. Par exemple, je peux avoir des liens comme http://domain.com/downloads/26-fine-wallpapers/ et http://domain.com/downloads/icons/35-nice-icons/ et je veux des liens comme ceux-ci soient redirigés vers http://newdomain.com/35-nice-icons/ et http://newdomain.com/26-fine-wallpapers/

J'utilise en fait wordpress.

Répondre

2

Selon votre description que vous avez seulement deux segments de chemin. Donc, votre modèle doit être:

RewriteRule ^([^/]+)/([^/]+)/$ http://example.com/$3/ [L,R=permanent] 

Et d'exclure /category/…, vous pouvez vérifier le chemin URI de la requête en REQUEST_URI:

RewriteCond %{REQUEST_URI} !^/category/ 
RewriteRule ^([^/]+)/([^/]+)/$ http://example.com/$3/ [L,R=permanent] 

Ou vous vérifiez la valeur assortie du premier groupe:

RewriteCond $1 !=category 
RewriteRule ^([^/]+)/([^/]+)/$ http://example.com/$3/ [L,R=permanent] 
+0

J'utilise ce dernier et cela fonctionne comme un charme. –

0

Je pense que vous avez juste besoin d'un préfixer /:

RewriteCond %{REQUEST_URI} !^/category?$ 
+0

l'addon ne semble pas fonctionner. –

+0

@Gan essayer de supprimer le '?' Et éventuellement le '$': '! ^/Category /' –