我有一系列不同的域名,我希望这些域名(通过我的域名托管服务商转发网址)转移到谷歌应用引擎应用程序,该应用程序读取转发URL。因此,如果输入的域名是原始XYZ.com,那么当我转发到我的应用程序时,我可以返回原始域名。我正在使用python变种。如果没有为每个变体编码,我怎能做到最好?
答案 0 :(得分:2)
通常,301/302重定向的目标无法确定发布重定向的URL。如果用户通过客户端代码重定向,则引用页面应出现在“Referer”请求标头中。对于服务器端重定向,我不认为用户代理填充(或覆盖)Referer标头是标准的。
如果您想将多个域指向App Engine应用,请尝试将其配置为custom domains而不是转发。使用此路由,自定义域将保留在用户的地址栏中,您只需检查主机标头即可查看访问者正在使用的自定义域。
答案 1 :(得分:1)
如果通过转发表示HTTP重定向,则可以检查Referer标头。
如果您的意思是DNS解析(例如,通过您自己的域和.appspot.com区分您的应用程序),那么存储域的SERVER_NAME
环境变量(os.environ["SERVER_NAME"]
)(例如www.example.com
}用于发出请求。
答案 2 :(得分:0)
如果您使用的是javascript重定向,则可以查看引荐来源:
http://en.wikipedia.org/wiki/HTTP_referrer
但这不是100%的解决方案。
如果您在一个appengine实例上停放了多个域,而您只想知道用户正在查看哪个域,则可以检查请求对象中的主机名。