Forum Moderators: phranque
RewriteRule ^contact-6-en(.*)$ /html/page.php?htaccess_4t5=1&page_id=6&lan=en$1
RewriteRule ^/html/page\.php\?page_id=6&lan=en(.*)$ contact-6-en$2 [R=301]
RewriteEngine On
#PRETTY_URL_START#
##############################################################
# user enters contact-6-en into addressbar
RewriteRule ^contact-6-en(.*)$ /html/page.php?page_id=6&lan=en$1 [L]
# user enters /html/page.php?page_id=6&lan=en into addressbar
RewriteCond %{THE_REQUEST} ^(.*)page.php(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^page_id=6(.*)&lan=en$ [NC]
RewriteRule ^(.*)$ http://www.example.com/contact-6-en? [R=301,L]
##############################################################
#PRETTY_URL_END#
# user enters contact-6-en&lan=de into addressbar
RewriteCond %{REQUEST_URI} ^(.*)contact-6-en(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)lan=de(.*)$ [NC]
RewriteRule ^(.*)$ http://www.patchwork3d.de/kontakt-6-de? [R=301,L]
Never use .* at the beginning or in the middle of the pattern. The .* means "read all the way to the end of the input". The .* can be used only at the end of a pattern, not at the start or in the middle. Additionally, uncaptured, or unused .* at the end of a pattern is redundant and can be omitted.
RewriteCond %{QUERY_STRING} ^page_id=6&lan=de$ [NC]
RewriteCond %{QUERY_STRING} ^page_id=6(.*)&lan=de$ [NC]
RewriteCond %{QUERY_STRING} ^page_id=6(.*?)&lan=de$ [NC]
##############################################################
# user enters kontakt-6-de&lan=de into addressbar
RewriteCond %{REQUEST_URI} ^(.*)kontakt-6-de(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)lan=de(.*)$ [NC]
RewriteRule ^kontakt-6-de(.*)&lan=de(.*)$ http://www.example.com/kontakt-6-de?$1$2 [R=301,L]
# user enters kontakt-6-de&lan=en into addressbar
RewriteCond %{REQUEST_URI} ^(.*)kontakt-6-de(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)lan=en(.*)$ [NC]
RewriteRule ^kontakt-6-de(.*)&lan=en(.*)$ http://www.example.com/contact-6-en?$1$2 [R=301,L]
# user enters /html/page.php?page_id=6&lan=de into addressbar
RewriteCond %{QUERY_STRING} ^(.+)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)page_id=6(.*?)&lan=de(.*)$ [NC]
RewriteRule ^page\.php(.*)$ http://www.example.com/kontakt-6-de?$1$2$3 [R=301,L]
# user enters kontakt-6-de into addressbar
RewriteRule ^kontakt-6-de(.*)$ /html/page.php?page_id=6&lan=de$1 [L]
##############################################################
# user enters contact-6-en&lan=de into addressbar
RewriteCond %{REQUEST_URI} ^(.*)contact-6-en(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)lan=de(.*)$ [NC]
RewriteRule ^contact-6-en(.*)&lan=de(.*)$ http://www.example.com/kontakt-6-de?$1$2 [R=301,L]
# user enters contact-6-en&lan=en into addressbar
RewriteCond %{REQUEST_URI} ^(.*)contact-6-en(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)lan=en(.*)$ [NC]
RewriteRule ^contact-6-en(.*)&lan=en(.*)$ http://www.example.com/contact-6-en?$1$2 [R=301,L]
# user enters /html/page.php?page_id=6&lan=en into addressbar
RewriteCond %{QUERY_STRING} ^(.+)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)page_id=6(.*?)&lan=en(.*)$ [NC]
RewriteRule ^page\.php(.*)$ http://www.example.com/contact-6-en?$1$2$3 [R=301,L]
# user enters contact-6-en into addressbar
RewriteRule ^contact-6-en(.*)$ /html/page.php?page_id=6&lan=en$1 [L]
##############################################################
# user enters contact-6-en&lan=de into addressbar
RewriteCond %{REQUEST_URI} ^(.*)contact-6-en(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)lan=de(.*)$ [NC]
RewriteRule ^contact-6-en(.*)&lan=de(.*)$ http://www.example.com/kontakt-6-de?$1$2 [R=301,L]
# user enters contact-6-en&lan=en into addressbar
RewriteCond %{REQUEST_URI} ^(.*)contact-6-en(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)lan=en(.*)$ [NC]
RewriteRule ^contact-6-en(.*)&lan=en(.*)$ http://www.example.com/contact-6-en?$1$2 [R=301,L]
# user enters /html/page.php?page_id=6&lan=en into addressbar
RewriteCond %{QUERY_STRING} ^(.+)$ [NC]
RewriteCond %{QUERY_STRING} ^(.*)page_id=6(.*)&lan=en(.*)$ [NC]
RewriteRule ^page\.php(.*)$ http://www.example.com/contact-6-en?$1$2$3 [R=301,L]
# user enters contact-6-en into addressbar
RewriteRule ^contact-6-en(.*)$ /html/page.php?page_id=6&lan=en$1 [L]
##############################################################
RewriteEngine On
#PRETTY_URL_START#
# user enters kontakt-6-de&lan=de into addressbar
RewriteCond %{THE_REQUEST} kontakt-6-de(.*) [NC]
RewriteCond %{QUERY_STRING} lan=de(.*) [NC]
RewriteRule kontakt-6-de&lan=de(.*) http://www.example.com/kontakt-6-de?$1 [R=301,L]
# user enters kontakt-6-de&lan=en into addressbar
RewriteCond %{THE_REQUEST} kontakt-6-de(.*) [NC]
RewriteCond %{QUERY_STRING} lan=en(.*) [NC]
RewriteRule kontakt-6-de&lan=en(.*) http://www.example.com/contact-6-en?$1 [R=301,L]
# user enters /html/page.php?page_id=6&lan=de into addressbar
RewriteCond %{THE_REQUEST} html/page\.php\?page_id=6&lan=de(.*) [NC]
RewriteRule html/page\.php(.*) http://www.example.com/kontakt-6-de?$1 [R=301,L]
# user enters kontakt-6-de into addressbar
RewriteRule kontakt-6-de(.*) /html/page.php?page_id=6&lan=de$1 [L]
#PRETTY_URL_END#
##############################################################
# user enters kontakt-6-de&lan=de into addressbar
RewriteCond %{THE_REQUEST} kontakt-6-de&lan=de(.*) [NC]
RewriteRule kontakt-6-de&lan=de(.*) http://www.patchwork3d.de/kontakt-6-de?$1 [R=301,L]
# user enters kontakt-6-de&lan=en into addressbar
RewriteCond %{THE_REQUEST} kontakt-6-de&lan=en(.*) [NC]
RewriteRule kontakt-6-de&lan=en(.*) http://www.patchwork3d.de/contact-6-en?$1 [R=301,L]
# user enters /html/page.php?page_id=6&lan=de into addressbar
RewriteCond %{THE_REQUEST} html/page\.php\?page_id=6&lan=de(.*) [NC]
RewriteRule html/page\.php(.*) http://www.patchwork3d.de/kontakt-6-de?$1 [R=301,L]
# user enters kontakt-6-de into addressbar
RewriteRule kontakt-6-de(.*) /html/page.php?page_id=6&lan=de$1 [L]
##############################################################
It is working now as it should
# user enters kontakt-6-de into addressbar
RewriteRule kontakt-6-de(.*) /html/page.php?page_id=6&lan=de$1 [L]
# user enters kontakt-6-de into addressbar
RewriteRule kontakt-6-de(.*) /html/page.php?page_id=6&lan=de$1 [L]