Redirect a list of URLs to another URL, using functions.php
What I wish to do
I have a number of WordPress URLs I need to redirect, along with a 301 permanent redirect header being sent to browser.
The URLs to redirect are:
https://www.mydomain.com.au/search-result/?location=victoria
https://www.mydomain.com.au/search-result/?location=new-south-wales
https://www.mydomain.com.au/search-result/?location=queensland
https://www.mydomain.com.au/search-result/?location=south-australia
https://www.mydomain.com.au/search-result/?location=tasmania
https://www.mydomain.com.au/search-result/?location=northern-territory
Where to redirect to
I want to redirect them to the home page: https://mydomain.com.au/
I am not sure whether it’s best to test for all six of those location=
strings, or to simply test for the one location=
string that is not to redirect.
The one that is not to redirect is ?location=western-australia
. E.g.,
https://www.mydomain.com.au/search-result/?location=western-australia
Additional considerations
Note that there are other /search-result/
URLs that have different variables in the query strings, such as ?weather=...
or ?water=...
. For example, https://www.mydomain.com.au/search-result/?location=victoria&weather=part-shade&water=&pasture=
AS seen in that example, it’s also possible multiple variables will be in the query string, such as ?location=tasmania&weather=&water=moderate&pasture=
.
So I need to test for the presence of the above listed locations=
irrespective of whether or not it has other variables after it. The location=
variable will always be the first in the query string.
I am thinking it may be as simple as testing for /search-result/
AND victoria; tasmania; northern-territory; etc.
in the URL.
A different approach?
Would it make sense to do this using an .htaccess redirect, as opposed to having WordPress do it? I am not sure of the advantages or disadvantages of each approach.
Leave an answer