【问题标题】:Google App Engine - Naked Domain Path Redirect in PythonGoogle App Engine - Python 中的裸域路径重定向
【发布时间】:2010-08-14 05:27:56
【问题描述】:

我在网站 colorurl.com 上工作,我需要用户能够输入 colorurl.com/00ff00(或它的一些变体),并查看正确的页面。但是,由于裸域问题,输入 colorurl.com/somepath 的用户将被重定向到 www.colorurl.com/。

有没有办法在 python 中检测到这一点,然后将用户重定向到他们打算去的地方(添加 www.?)

编辑:

澄清:在我的虚拟主机配置中,我将 colorurl.com 转发到 www.colorurl.com。他们不支持保留路径 (1and1)。我必须检测以前的路径并将用户重定向到它。

  1. 用户访问 colorurl.com/path
  2. 用户被重定向到 www.colorurl.com
  3. 应用需要检测路径是什么。
  4. 应用程序将用户发送到 www.colorurl.com/path

【问题讨论】:

  • 你需要找到一个不会做这么糟糕的重定向工作的主机。许多 DNS 主机,例如 zoneedit 或 dyndns,都提供这些方面的服务。
  • FWIW,GAE 现在支持裸域,请参阅 stackoverflow.com/questions/817809/…

标签: python google-app-engine redirect


【解决方案1】:

在这种情况下,我要做的是在您的裸域中建立一个小站点,该站点仅包含一个 .htaccess 文件,该文件将路径重定向到 www.*:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^colorurl.com [NC] 
RewriteRule ^(.*)$ http://www.colorurl.com/$1 [L,R=301]

【讨论】:

  • 哇...完美。我在考虑 mod_rewrite,希望它可以在 App Engine 上使用。我没有想过这种解决方案。
【解决方案2】:

您需要使用第三方网站重定向到www.*;许多注册商提供这项服务。 Godaddy 的服务(通过域名注册甚至是免费的)将 foo.com/bar 转发到 www.foo.com/bar;我不能谈论其他人的能力,但在我看来,任何不这样做的人都被打破了。

【讨论】:

  • 我的虚拟主机 1and1 不支持此功能。
  • colorurl.com 是在 1and1 上运行的 python 网站,而 www.colorurl.com 是在 App Engine 上运行的网站吗?如果是这样,您需要在 colorurl.com 上做的就是重定向到完全相同的 URL,并在正确的位置添加“www”。你没有说你在这个其他网站上使用的是什么框架,所以很难具体说明语法。
  • 没有其他站点。 Google App Engine 不允许裸域。 “其他站点”只是一个愚蠢的 html 服务器(由于接受的答案,它以前只是映射到 dns 设置中的重定向,但路径数据会丢失)。
猜你喜欢
  • 1970-01-01
  • 2014-01-12
  • 1970-01-01
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 2016-06-07
  • 2011-05-12
  • 1970-01-01
相关资源
最近更新 更多