2

看起来 mod_rewrite 正在弄乱 mod_wsgi 的环境变量(人渣吃掉了 SCRIPT_NAME 或其他东西)。

仅添加这一行:

RewriteEngine On

到我的 httpd.conf 会导致我基于 Django 的网站出现问题。我的别名如下所示:

WSGIScriptAlias /prefix /path/to/my/wsgi.py

现在两个网址:

example.com/prefix

example.com/prefix/

工作(有点..网站显示),但在前一种情况下(没有斜杠),所有 url 都由 django 错误地生成,例如:

example.com/some_url代替

example.com/prefix/some_url

如果我注释掉#RewriteEngine On问题就消失了,但我需要 mod_rewrite。我怎样才能解决这个问题?

提前致谢。

4

1 回答 1

5

会不会是[PT]标志问题?为了将重定向的 URI 传递给WSGIScriptAlias,您需要在重写规则的末尾添加 PassThrough (PT) 标志,例如:

RewriteEngine On
RewriteRule    ^/external_url$   /internal_wsgi_url    [PT]

请参阅我在 Pro Webmasters 上的回答

于 2014-02-05T10:10:11.500 回答