David Turner
David Turner

Reputation: 59

Redirection Based on Query String

Not wanting to bloat up an .htaccess with 300 entries, what would be the javascript I could use to redirect to URLs based on a query string in the request to this single file. For example,

https://www.mywebsite.com/redirect.jhtml?Type=Cool&LinkID=57

The only part I care about is the 57 and then redirect it to wherever: https://www.anothercoolwebsite/secretworld/

In the following case, take the 34 and redirect:

https://www.mywebsite.com/redirect.jhtml?Type=Cool&LinkID=34 https://www.anoldwebsite.com/cool/file.html

Thank you!

Upvotes: 1

Views: 2501

Answers (1)

Ben
Ben

Reputation: 2209

This should do you fine. Keep in mind a server-side solution like a PHP script will work for more clients. Since you mentioned .htaccess, I think I should let you know about the fallback resource command

Anyways, here is the JS only solution

function parseString(){//Parse query string
    var queryString=location.search.substring(1);//Remove ? mark

    var pair = queryString.split('&'); //Key value pairs

    var returnVal={};
    pair.forEach(function(item,i){
        var currPair = item.split('=');//Give name and value

        returnVal[currPair[0]]=currPair[1];
    });

    return returnVal;
}

var links=["index", "about"];//Sample array of links, make sure this matches up with your LinkID
location.href=links[parseString().LinkID]+".html"; //Redirect based on LinkID

Upvotes: 2

Related Questions