Django转发非www到www的方法?

时间:2015-07-12 10:11:29

标签: python django .htaccess url

在django中,我想知道是否有django设计的方式将http://www.example.com重定向到http://example.com,或者反过来http://example.com> http://www.example.com

通常人们会使用htaccess,但它应该是一个简单的问题,所以我想知道是否有一个设计方法来处理这个问题?

2 个答案:

答案 0 :(得分:2)

为此,您需要将PREPEND_WWW设置添加到settings.py文件中。

PREPEND_WWW = True  # Default value is False

然后Django会将“www.”子域名添加到没有它的URL。因此,缺少排名“www.”的网址将被重定向到具有前导“www.”的相同网址

注意:仅当CommonMiddleware设置中存在MIDDLEWARE_CLASSES时才会有效。

MIDDLEWARE_CLASSES = (
    ...
    'django.middleware.common.CommonMiddleware', # must be there in middlewares
   ...
)

答案 1 :(得分:1)

你只能在django中单行进行PREPEND_WWW

  

是否将“www。”子域名添加到没有它的URL。   这仅在安装了CommonMiddleware时使用(请参阅中间件)。   另见APPEND_SLASH。

但是,您应该正确配置服务器以识别URL并正确路由请求。否则你会遇到问题(例如无限重定向)。