Назад | Перейти на главную страницу

Настройка htaccess с помощью django и apache

Я пытаюсь настроить свой сервер Apache с помощью django. У меня возникают проблемы с сопоставлением URL-адресов с их взглядами, и я не совсем уверен в причине проблемы. У меня такая конфигурация:

.htaccess:

AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ cyber.fcgi/ [QSA,L]

urls.py:

from django.conf.urls import patterns, include, url
from django.conf import settings
from views import index, test
from os import path
urlpatterns = patterns('',
    (r'^$', index),
    (r'^test/$', test),
)

Проблема, с которой я сталкиваюсь, заключается в том, что все URL-адреса, которые не начинаются с /cyber.fcgi/, автоматически соответствуют представлению индекса. Для тестирования я печатаю URL-адрес, который видит просмотр:

www.example.com/test/           <= matches index with url /test/
www.example.com/test            <= matches index with url /tes/
www.example.com/cyasdasd/123    <= matches index with url /cyasdasd/12/
www.example.com/cyber.fcgi/     <= matches index with url /cyber.fcgi/
www.example.com/cyber.fcgi/test <= matches test with url /cyber.fcgi/test/
www.example.com/cyber.fcgi/asd  <= no match

Похоже, что правильное поведение происходит только при прямом вызове /cyber.fcgi. Я предполагаю, что это проблема с RewriteRule ^(.*)$ cyber.fcgi/ [QSA,L] но я не совсем уверен и не знаю, как это исправить. Любая помощь будет оценена.

RewriteRule ^(.*)$ cyber.fcgi/$1 [QSA,L]

В конце пропущен 1 доллар.