jonathan maderer asked:
I would like to create a permanent redirect for specific querys inside my nginx server block. As example on my current url links to the php script have been:
website.com/?hash=12345
So i need to change this to website.com/folder/?hash=12345
Is there a way to redirect permanent only if the parameter ?hash= is given inside the query and leave all other querys how they are?
Edit: I did some testings with this here
location ~* /.*hash\=.*/ {
rewrite ^ https://mysite.eu/bluetracker/$request_uri? permanent;
}
but Sadly this is also not working
My answer:
This is pretty simple. Just check for the existence of the argument.
location / {
if ($arg_hash) {
return 301 /folder/$is_args$args;
}
# everything else...
}
Note here, that $is_args
returns a ?
if there is a query string, and an empty string otherwise. And $args
returns the entire query string.
View the full question and any other answers on Server Fault.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.