Я пытаюсь настроить свой сервер 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 доллар.