RewriteRule ^(.*)$ cyber.fcgi/$1 [QSA,L]
Ausente $ 1 no final.
Estou tentando configurar meu servidor apache com o django. Estou tendo problemas de correspondência de URLs com seus pontos de vista e não tenho certeza da causa do problema. Eu tenho a seguinte configuração:
.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),
)
O problema que estou encontrando é que todos os urls que não iniciam com /cyber.fcgi/ correspondem automaticamente à visualização do índice. Para testar, estou imprimindo a URL que a visualização vê:
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
Parece que o comportamento correto ocorre apenas quando /cyber.fcgi é chamado diretamente. Estou assumindo que este é um problema com RewriteRule ^(.*)$ cyber.fcgi/ [QSA,L]
, mas não tenho certeza absoluta nem sei como corrigi-lo. Qualquer ajuda seria apreciada.
Tags .htaccess django apache-2.2