0

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

这适用于将人们重新引导回主 www。

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

有什么想法或建议吗??我暂时不希望退出 dotcloud 托管,但如果无法让它以另一种方式工作,我会这样做。

谢谢!

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

4

2 回答 2

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/

于 2012-12-26T09:25:41.630 回答
0

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

  1. 设置裸域重定向从example.comwww.example.com
  2. example.com/url/ to使用来自www.example.com/url/的 url 设置裸域重定向

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

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

于 2012-12-26T18:54:35.387 回答