.htaccess для Django приложений

Дата публикации:29 апреля 2013 г. 21:17:54

Здравствуйте! Если вы еще не перешли на облачный хостинг, то тогда эта информация может быть полезна для вас. Итак, многие хостеры разрешают использование Python приложений через mod WSGI и это хорошо. Но бывает так, что хостер не рассказывает о том, как настроить .htaccess. Вот примерный .htaccess для хостинга Timeweb. Он может быть полезен и для других хостеров, так как схема везде одна.

AddDefaultCharset utf-8

Options +ExecCGI

AddHandler wsgi-script .py
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /wsgi.py/$1 [QSA,PT,L]

RewriteRule ^(static/.*)$ - [L]
RewriteRule ^(media/.*)$ - [L]

Что мы здесь делаем. Указываем кодировку utf-8, затем добавляем handler и указываем расширение файла для wsgi скрипта. У меня оно .py. Затем через mod rewrite отправляем все запросы на сайт в файл wsgi.py. Далее, объявляем нашу статику и медиа файлы. Собственно, все. Теперь код файла wsgi.py:

#! /usr/bin/python
# -*- coding: utf-8 -*-

import os, sys

sys.path.append(os.path.abspath(os.path.dirname(__file__)))

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

Здесь не буду пояснять, так как все есть в документации по Django. Спасибо за внимание!

Метки:apache, htaccess, python, django