user2516117
user2516117

Reputation: 129

redirecting url containing specific string

I'm trying to redirect all urls that contain a specific string. The urls look like this

http://www.domain/com/modules.php?name=Kalender&op=list&d=8&m=6&y=2034

I have to redirect all urls that contain

name=Kalender&

to

http://www.domain.com/kalender/

I tried several rules in my .htaccess. None of them worked:

RewriteCond %{REQUEST_URI} name=Kalender&
RewriteRule .* kalender

RewriteRule ^(.)name=Kalender&(.)$ http://www.domain.com/kalender/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/name=Kalender&/i$ http://www.domain.com/kalender/ [NE,L]

RewriteCond %{REQUEST_URI} name=Kalender&
RewriteRule  ^(.+)$ http://www.domain.com/kalender/ [L,R=301]

RewriteCond %{QUERY_STRING} ^name=Kalender&
RewriteRule ^name=Kalender& http://www.domain.com/kalender/ [R=301,L]

RewriteRule ^(.*)name=Kalender&(.*)$ http://www.domain.com/kalender/ [L,R=301]
RewriteCond %{REQUEST_URI} ^/modules.php?name=Kalender&$

RewriteRule ^(.*) http://www.domain.com/kalender [R=301,L]

This is the WordPress .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule> 

Any help would be appreciated!

Upvotes: 1

Views: 744

Answers (1)

anubhava
anubhava

Reputation: 786091

You can use this rule as your first rule:

RewriteCond %{QUERY_STRING} (^|&)name=Kalender(&|$) [NC]
RewriteRule ^ /kalender/? [L,R]

Upvotes: 1

Related Questions