Проще всего сделать одну ссылку, повесить handler на этот URL и уже в handler'e в зависимости от IP делать перенаправление. Вот рабочий пример:
package main
import (
"fmt"
"net"
"net/http"
)
func main() {
http.HandleFunc("/redirect_by_ip", RedirectByIPHandler)
http.ListenAndServe(":8080", nil)
}
func RedirectByIPHandler(w http.ResponseWriter, r *http.Request) {
ip, _, err := net.SplitHostPort(r.RemoteAddr)
if err != nil {
fmt.Fprintf(w, "ip: %q is not IP:port", r.RemoteAddr)
return
}
if ip == `IP который вам нуежен` {
http.Redirect(w, r, `URL 1`, http.StatusFound)
} else {
http.Redirect(w, r, `URL 2`, http.StatusFound)
}
}