我应该使用FQDN作为"域"在Django的网站框架中?

时间:2015-06-14 18:43:15

标签: django fqdn django-sites

我有一个网站,其中任何对非www域的请求,即http://example.com被服务器重定向(状态301)到http://www.example.com

如果我使用Django的sites框架,我应该将domain设置为example.com还是www.example.com?我见过的所有文档始终将域名称为example.com。如果网站框架将域称为full qualified domain name或仅domain name,我会感到困惑。 Django docs将domain定义为"与网站相关的域名"。这让我觉得应该没有www部分。但这打破了站点地图(Django生成没有www的所有URL)。

PREPEND_WWW设置是造成混淆的另一个原因。似乎Django希望您只将域定义为example.com,然后使用此设置添加www

1 个答案:

答案 0 :(得分:2)

应该是www.example.com,因为这是您网站的规范网址。 Django使用域名来构建完全限定的URL,并且您希望这些URL指向www.example.com

PREPEND_WWW是一项设置,用于在用户访问example.com而不是www.example.com时返回重定向。听起来你的网络服务器已经覆盖了这个。它不会以任何其他方式影响域。

现在很多网站都没有使用www(例如www.stackoverflow.com重定向到stackoverflow.com),这是文档经常使用example.com的唯一原因。