在GAE上转发具有完整URL结构的裸域

时间:2010-07-14 19:36:41

标签: google-app-engine redirect dns

所以我遵循尼克约翰逊关于如何转发裸域的说明: http://blog.notdot.net/2009/12/Naked-domains-on-App-Engine 并配置GoDaddy使用301重定向到我的网站的“www”子域。

但是,我仍然遇到的问题是,当我输入http://mydomain.com/foo/bar时,它会转发到http://www.mydomain.com(但没有“/ foo / bar”)。有没有办法维护完整的URL(包括子目录和URL参数等),只需在裸域的前面添加“www”(例如http://mydomain.com/foo/bar变为http://www.mydomain.com/foo/bar)?

注意:当我转发子域名时,这不是问题:例如: http://foo.mydomain.com/foo/bar已成功转发至http://www.mydomain.com/foo/bar

2 个答案:

答案 0 :(得分:1)

是的,这是可能的,但GoDaddy并不支持任何这些东西 - 当我评估他们一段时间后,我发现他们有时会为他们的“301”推出302 + 302 + 301(!)服务(是的,从技术上讲,它最终是301 ......)。

因为301被缓存,所以假设301优于302。但那只是理论。实际上,您需要实际测量不同的服务提供商,以确定哪些服务提供商能够以最快的速度实现最快的结果。例如当我测量GoDaddy时,他们确实提供了301服务,但它比竞争对手的302服务慢(!)。

另请注意,对于完整的URL,301和302之间的缓存差异较小 - 它不太可能缓存确切的子目录和参数等。我非常怀疑,为了你的目的,301实际上会胜过302.因此我会寻找最有能力的DNS提供商来获得这种能力。

我在一年前对此进行了评估,并使用了dyndns的“网店”服务。这是302但很快。从那时起它就像一个魅力。

答案 1 :(得分:1)

好的,这就是我解决这个问题的方法:

  1. 设置godaddy进行顶级域名转发,屏蔽我服务器上的特殊域名。例如。将裸域转发到http://www.mydomain.com/naked_redirect。因为“屏蔽”已打开,所以它实际上正在做的是设置帧并在其中一个帧中打开http://mydomain.com/naked_redirect。这样,http://www.mydomain.com/naked_redirect将裸域作为引荐来源。
  2. 我设置了http://www.mydomain.com/naked_redirect来查看引荐来源(例如http://mydomain.com/foo/bar),获取网址并确定网址的所有部分,然后让该网页重定向到http://www.mydomain.com/foo/bar
  3. 希望能帮助他人。