2016-11-17 3 views
0

Um meine tatsächliche URL-Struktur zu bearbeiten. Ich muss meine "alten" Links umleiten, um die eingehenden Links aktiv zu halten.Redirect bereits Rewriten URL mit Parameter

Alles funktioniert gut, aber es funktioniert nicht, wenn die "alten" Links Parameter haben.

Hier ist der erste Teil meiner .htaccess (das funktioniert):

Options +FollowSymlinks -MultiViews 
RewriteEngine On 

# Rewrite the "old" url "/models" to "/models-pictures" 
RewriteRule ^/?models/?$ /models-pictures [R=301,NE,L] 

# New redirection 
RewriteCond %{REQUEST_URI} /models-pictures/?$ [NC] 
RewriteRule . models.php [L] 

Und nun der zweite Teil der

nicht

# Rewrite the "old" url "/models/[name]-pictures" to "/[name]-pictures" 
RewriteRule ^/?models/([a-z\-A-Z]+)-pictures/?$ /%1-pictures [R=301,NE,L] <- Not working 

# New redirection 
RewriteCond %{REQUEST_URI} /([a-z\-A-Z]+)-pictures/?$ [NC] 
RewriteRule . orderby.php?model=%1 [L,QSA] 

# New redirection 
RewriteCond %{REQUEST_URI} /([a-z\-A-Z]+)-pictures/([a-z\-A-Z]+)/?$ [NC] 
RewriteRule . p.php?model=%1&media=%2 [L,QSA] 
Irgendwelche Ideen wird Umleitung? Vielen Dank.

+1

Verwenden Sie '$ 1' und nicht'% 1' in '/ $ 1-Bilder' – Croises

Antwort

1

Sie verwenden nicht die korrekte Zurückverweisungsnummer in der Ersetzungszeichenfolge in der Regel, die nicht funktioniert. Sie haben %1 und es sollte $1 sein.

# Rewrite the "old" url "/models/[name]-pictures" to "/[name]-pictures" 
RewriteRule ^/?models/([a-z\-A-Z]+)-pictures/?$ /$1-pictures [R=301,NE,L]