Джанго с fastcgi и lighttpd. Администратор сайта запрашивает "/homepage.fcgi/homepage.fcgi/admin/" - PullRequest
0 голосов
/ 04 февраля 2012

Я пытался развернуть простой сайт Django на моем собственном сервере Ubuntu.После некоторых неприятностей я, наконец, заставил большинство из них работать, за исключением некоторых проблем с URL-адресами и сайтом администратора.

Все части сайта, разработанные мной, работают нормально, но есть проблема с администратором сайта.(который прекрасно работает локально с runserver кстати).У меня есть ссылка на «/ admin /» на моем собственном сайте, которая работает, и отправляет меня в логин для администратора сайта.Однако при нажатии «войти» я получаю сообщение об ошибке 404 и: URL запроса: http://mydomain.com/homepage.fcgi/homepage.fcgi/admin/

Очевидно, что что-то не так с перезаписью URL-адреса.Со всеми другими ссылками он добавляет «homepage.fcgi» незаметно один раз, но здесь он делает это дважды.Могу поспорить, что есть простое решение, но это мой первый опыт развертывания чего-либо, кроме чистого html-сайта.

Вот конец моего lighttpd.conf:

fastcgi.server = (
    "/homepage.fcgi" => (
        "main" => (
            # Use host / port instead of socket for TCP fastcgi
            # "host" => "127.0.0.1",
            # "port" => 3033,
        "socket" => "/home/myDjango/fcgi/homepage.sock",
        "check-local" => "disable",
        )
    ),
)
alias.url = (
    "/static" => "/home/myDjango/static_root",
)

url.rewrite-once = ( 
    "^(/static.*)$" => "$1",
    "^(/.*)$" => "/homepage.fcgi$1",
)

1 Ответ

1 голос
/ 04 февраля 2012

Отвечая на мой собственный вопрос здесь.

Добавить FORCE_SCRIPT_NAME = "" в settings.py. Затем перезапустите процесс fcgi.

Я знал об уловке FORCE_SCRIPT_NAME = "" до публикации этого сообщения, но я думал, что это не сработало, потому что я не перезапускал fcgi.

...