我的 Django 应用程序中有一个中间件,可将移动客户端重定向到用户可配置的移动域。这并不简单m.[current domain]
,因为用户自己定义域。为了保存查询,我可以存储一个类似于{'www.example.com': 'mobile-version.example.com'}
. 但是,我想保存 wsgi 服务器和完整的 Django 堆栈,以免移动请求到达,因为这个简单的逻辑是唯一发生的事情。我的想法是,如果我能以某种方式将此逻辑放在 Nginx 中,我将能够完全绕过 Django,从而节省一些资源。这可能吗?我读过人们通过 memcached 为整个站点提供服务的地方(似乎是简单 Varnish 使用的更便宜的替代品),但方法似乎有点不同。
逻辑是这样的:
$mobile_domain = memcached.get_by_key("mobile_domain_for:" + $current_domain)
IF $mobile_domain:
redirect $mobile_domain + $path_info + $query_strings