ProxyPass网址规则?

时间:2012-01-28 04:03:09

标签: django apache proxypass

我在Apache端口80上运行了一个网站http://foo.com,我想将其重定向到端口8000上的Django应用程序。但是,我有一个文件夹,foo.com/wiki我不想重定向并将它指向我的常规/var/www directory中的我的wiki文件夹。在我的httpd.conf文件中,我有:

...
WSGIScriptAlias / /path/to/project/wsgi.py

ProxyPass /wiki !

ProxyPass / http://localhost:8000/

ProxyPassReverse / http://localhost:8000/

这似乎导致foo.com/wiki无处可去(您无权访问此服务器上的/ wiki /)。我在另一个问题上听说过ProxyPassMatch并尝试了

ProxyPassMatch ^/(wiki/*) http://localhost:8000/

ProxyPassReverse ^/(wiki/*) http://localhost:8000/

这对我也没有用。

1 个答案:

答案 0 :(得分:0)

我没有任何东西可以测试。但我认为它可能与WSGIScriptAlias指令有关。您要从代理重写中排除/ wiki,而不是从WSGIScriptAlias中排除。

你可以尝试这样的事情:

<Location /wiki>
  RemoveHandler wsgi-script
  Options -ExecCGI
</Location>

或者代替使用WSGIScriptAliasMatch并在正则表达式中排除wiki子网址。