将裸URL映射到等效的www URL

时间:2012-12-26 07:13:35

标签: django dns

我目前正在使用dotcloud托管应用程序,我正在使用我的域名注册商namecheap重定向我的裸网址(通过“@”主机名和“*”主机名作为URL直接 - 然后是cname for www to dotcloud )

这适用于将人们重新引导回主要的网站。

我的问题是我想将访问者映射到他们试图访问的等效裸域网址。例如。 http://example.com/websitepage1http://www.example.com/websitepage1。现在访问网站上的任何页面减去“www”只会将您重定向到主页。

任何想法或建议?我暂时不想退出dotcloud托管,但如果不可能以另一种方式工作,我会这样做。

谢谢!

更新 需要重定向的URL是动态创建的,因此对它们进行硬编码并非不可能。 DNS不一定是namecheap。如果有一个允许将裸网址重定向到www等效的选项,我可以将名称服务器放在其他位置。任何想法都赞赏!

2 个答案:

答案 0 :(得分:0)

您需要向nginx.conf添加重写规则:

 server {
        server_name  hostname.org;
        rewrite ^(.*) http://www.hostname.org$1 permanent;
    }

您可以通过在应用顶部创建名为nginx.conf的文件来指定自定义重写规则(实际上几乎任何Nginx设置)。 http://docs.dotcloud.com/0.9/guides/nginx/

答案 1 :(得分:0)

鉴于他们的文档(0),似乎可以使用Namecheap的转发选项执行以下301/302重定向:

  1. 设置从example.comwww.example.com
  2. 的裸域重定向
  3. 使用example.com/url/ to www.example.com / url /`
  4. 中的网址设置裸域重定向

    我在文档中没有看到它们支持通配符选项,因此对于您想要支持的每个网址,您似乎可能需要创建转发条目。

    (0):http://www.namecheap.com/support/knowledgebase/article.aspx/385/77/how-do-i-setup-url-forwarding-for-a-domain