There is a dynamic parameter in urls s=changingtext
. It is necessary to recognize this parameter and add another parameter to it for redirecting to get s=changingtext&post_type=product
.
There is a link for example
example.com/?min_price=0&max_price=0&s=test
it should always redirect to
example.com/?min_price=0&max_price=0&s=test&post_type=product
CodePudding user response:
Providing the order of the URL parameters is not significant then you can do it like this using mod_rewrite at the top of your .htaccess
file:
RewriteEngine On
RewriteCond %{QUERY_STRING} (^|&)s=[^&]
RewriteRule ^ %{REQUEST_URI}?post_type=product [QSA,R=302,L]
This adds the post_type
URL parameter first and the existing query string is appended using the QSA
(Query String Append) flag. ie. In your example, it will be redirected to example.com/?post_type=product&min_price=0&max_price=0&s=test
.
This specifically checks for a non-empty s
URL parameter. An empty URL parameter, eg. foo=1&s=&bar=1
will not be redirected.
This applies to any URL-path.