2015-06-14 5 views
0

У меня есть сайт, на котором любой запрос на домен, не являющийся доменом www. http://example.com, перенаправляется (со статусом 301) на сервер http://www.example.com.Должен ли я использовать полное доменное имя как «домен» в инфраструктуре сайтов Django?

Если я использую каркас Django sites, должен ли я устанавливать domain как example.com или www.example.com? Все документы, которые я видел, всегда относятся к домену как example.com. Я смущен, если структура сайтов относится к домену как full qualified domain name или просто domain name. Django docs определяет домен как «доменное имя, связанное с веб-сайтом». Это заставляет меня думать, что это должно быть без www-части. Но это нарушает карту сайта (Django генерирует все URL-адреса без www).

Настройки PREPEND_WWW - еще одна причина для путаницы. Похоже, что Django хочет, чтобы вы просто определили домен как example.com, а затем используйте этот параметр для добавления www.

ответ

1

Это должно быть www.example.com, так как это канонический URL вашего сайта. Django использует этот домен, среди прочих, для создания полностью квалифицированных URL-адресов, и вы хотите, чтобы они указывали на www.example.com.

PREPEND_WWW - это параметр для возврата перенаправления, если пользователь посещает example.com вместо www.example.com. Похоже, вы получили это на своем веб-сервере. Это не влияет на домен каким-либо другим способом.

Многие сайты не используют www в настоящее время (например, www.stackoverflow.com перенаправляет на stackoverflow.com), это единственная причина, почему в документации часто используется example.com.

+0

Я не верю, что упоминается, что он должен включать 'www', когда это применимо. Не стесняйтесь открывать отчет об ошибке относительно документации (на code.djangoproject.com), если вы считаете, что это должно быть разъяснено. – knbk