我应该在 Django 的站点框架中使用 FQDN 作为 "domain" 吗?
Should I use the FQDN as the "domain" in Django's sites framework?
我有一个网站,任何对非 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 文档将域定义为 "The domain name associated with the Web site"。这让我觉得它应该没有 www 部分。但这会破坏站点地图(Django 生成所有不带 www 的 URL)。
PREPEND_WWW
设置是造成混淆的另一个原因。看起来好像 Django 希望您只将域定义为 example.com
,然后使用此设置来添加 www
.
它应该是 www.example.com
,因为这是您网站的规范 url。 Django 在其他事物中使用域来构造完全限定的 URL,您会希望它们指向 www.example.com
。
PREPEND_WWW
是设置为 return 如果用户访问 example.com
而不是 www.example.com
则重定向。听起来您的网络服务器中已经涵盖了这一点。它不会以任何其他方式影响域。
如今许多站点不使用 www
(例如 www.whosebug.com 重定向到 whosebug.com),这是文档经常使用 example.com
的唯一原因。
我有一个网站,任何对非 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 文档将域定义为 "The domain name associated with the Web site"。这让我觉得它应该没有 www 部分。但这会破坏站点地图(Django 生成所有不带 www 的 URL)。
PREPEND_WWW
设置是造成混淆的另一个原因。看起来好像 Django 希望您只将域定义为 example.com
,然后使用此设置来添加 www
.
它应该是 www.example.com
,因为这是您网站的规范 url。 Django 在其他事物中使用域来构造完全限定的 URL,您会希望它们指向 www.example.com
。
PREPEND_WWW
是设置为 return 如果用户访问 example.com
而不是 www.example.com
则重定向。听起来您的网络服务器中已经涵盖了这一点。它不会以任何其他方式影响域。
如今许多站点不使用 www
(例如 www.whosebug.com 重定向到 whosebug.com),这是文档经常使用 example.com
的唯一原因。