在GAE中使用重定向

时间:2015-10-12 03:15:25

标签: google-app-engine go

我是Go的新手,我正在尝试为GAE制作一些应用程序。我找不到任何与我有同样问题的人,所以我想我会在这里问!

基本上,我正在创建一个程序,它将从数组中取一个随机url并重定向用户。

出现的问题是,在我尝试使用的每台计算机上,它会发送不同的视频,但它会始终向该人发送相同的视频。

如果有人对此有任何见解,我们将不胜感激!

    package randvid

    import (
        "net/http"
        "math/rand"
        "time"
    )

    func RandLink() string{
      VideoList := []string{
        ...
      }
      r := rand.New(rand.NewSource(time.Now().UTC().UnixNano()))
      vid := r.Intn(len(VideoList)) + 1;
      return VideoList[vid]
    }

    func redirectHandler(path string) func(http.ResponseWriter, *http.Request) {
      return func (w http.ResponseWriter, r *http.Request) {
        http.Redirect(w, r, path, http.StatusMovedPermanently)
      }
    }

    func init() {
      http.HandleFunc("/", redirectHandler(RandLink()))
    }

1 个答案:

答案 0 :(得分:3)

您的客户可能正在缓存301回复as allowed by RFC 2616

将响应状态代码更改为302,http.StatusFound