我有一系列不同的域名,我想要所有的指针(通过URL转发从我的域名主机)到一个谷歌应用程序引擎应用程序,读取什么是转发URL。因此,如果输入的域名是原始XYZ.com,那么当我被转发到我的应用程序时,我可以返回原始域名是什么。我使用的是python变体。我如何才能最好地做到这一点,而不是为每个变体都编码?
发布于 2011-05-10 22:01:47
通常,301/302重定向的目标无法确定是哪个URL发出了该重定向。如果用户被客户端代码重定向,引用页面应该出现在"Referer“请求头部中。对于服务器端重定向,我不认为用户代理填充(或覆盖) Referer标头是标准的。
如果您希望将多个域指向您的app Engine应用程序,请尝试将它们配置为custom domains而不是转发。使用此路由,自定义域将停留在用户的地址栏中,您只需检查host标头即可查看访问者使用的是哪个自定义域。
发布于 2011-05-10 21:59:08
如果转发意味着HTTP重定向,您可以检查Referer报头。
如果你指的是域名解析(例如,区分你的应用程序是通过你自己的域调用的还是通过.appspot.com域调用的),可以使用SERVER_NAME环境变量(os.environ["SERVER_NAME"])来存储用于发出请求的域(例如www.example.com)。
发布于 2011-05-10 22:00:36
如果您使用的是javascript重定向,那么您可以只检查referrer:
http://en.wikipedia.org/wiki/HTTP_referrer
但这不是100%的解决方案。
如果您在一个appengine实例上驻留了多个域,并且您只想知道用户正在查看哪个域,则可以检查请求对象中的主机名。
https://stackoverflow.com/questions/5951035
复制相似问题