使用 django 和 apache 配置 htaccess

使用 django 和 apache 配置 htaccess

我正在尝试使用 django 配置我的 apache 服务器。我在将 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),
)

我遇到的问题是,所有不以 /cyber.fcgi/ 开头的 URL 都会自动匹配索引视图。为了进行测试,我打印了视图看到的 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]但我并不完全确定,也不知道如何修复它。任何帮助都将不胜感激。

答案1

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

最后少了 1 美元。

相关内容