2016-05-23 38 views
0

Es gibt ein paar Umadressierungsregel für Seiten mit Query-StringsRedirect erstellen gemeinsame Regeln

RewriteCond %{QUERY_STRING} ^PAGEN_1=1 [NC] 
RewriteRule ^news/$ http://www.mysite.ru/news/$ [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=1 [NC] 
RewriteRule ^news/$ http://www.mysite.ru/news/$ [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=2 [NC] 
RewriteRule ^news/$ http://www.mysite.ru/news/?PAGEN_1=2 [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=3 [NC] 
RewriteRule ^news/$ http://www.mysite.ru/news/?PAGEN_1=3 [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=4 [NC] 
RewriteRule ^news/$ http://www.mysite.ru/news/?PAGEN_1=4 [R=301,L] 


RewriteCond %{QUERY_STRING} ^PAGEN_1=1 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/ [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=1 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/ [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=2 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/?PAGEN_1=2 [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=3 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/?PAGEN_1=3 [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=4 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/?PAGEN_1=4 [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=5 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/?PAGEN_1=5 [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=6 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/?PAGEN_1=6 [R=301,L] 

Gibt es eine Möglichkeit, diese Regeln gemeinsam, nicht für jede Abfrage-String zu schreiben?

UPD habe ich diesen Code

RewriteCond %{QUERY_STRING} ^PAGEN_1=1 [NC] 
RewriteRule ^news/$ http://www.mysite.ru/news/$ [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=1 [NC] 
RewriteRule ^news/$ http://www.mysite.ru/news/$ [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=([0-9]*)$ [NC] 
RewriteRule ^news/(.*)$ http://www.mysite.ru/news/?PAGEN_1=%1 [R=301,L] 




RewriteCond %{QUERY_STRING} ^PAGEN_1=1 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/ [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=1 [NC] 
RewriteRule ^articles/2/$ http://www.mysite.ru/articles/2/ [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=([0-9]*)$ [NC] 
RewriteRule ^articles/2/(.*)$ http://www.mysite.ru/articles/2/?PAGEN_1=%1 [R=301,L] 

aber ich bin darüber nicht sicher. Es funktioniert, aber ich denke, vielleicht sollte es einfacher sein.

Antwort

1

können Sie verwenden:

RewriteCond %{QUERY_STRING} (?:^|&)PAGEN_1=1(?:&|$) [NC] 
RewriteRule ^news/?$ http://www.mysite.ru/news/? [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=(\d+)(?:&|$) [NC] 
RewriteRule ^news/?$ http://www.mysite.ru/news/?PAGEN_1=%1 [R=301,L] 

RewriteCond %{QUERY_STRING} (?:^|&)PAGEN_1=1(?:&|$) [NC] 
RewriteRule ^articles/(\d+)/?$ http://www.mysite.ru/articles/$1/? [R=301,L] 

RewriteCond %{QUERY_STRING} ^&PAGEN_1=(\d+)(?:&|$) [NC] 
RewriteRule ^articles/(\d+)/?$ http://www.mysite.ru/articles/$1/?PAGEN_1=%1 [R=301,L] 
+0

Ich habe versucht, den Code zu verwenden, aber ich bekomme Fehler ERR_TOO_MANY_REDIRECTS – Heidel

+0

'http: // www.mysite.ru' ist die gleiche Domain? Warum versuchen Sie, auf die gleiche Website umzuleiten? Das liegt daran, dass du ein '&' nachher '' '? – Croises

+0

Ich habe meinen Code dafür geändert ... – Croises

Verwandte Themen