静态站点apache和动态/成员站点django

时间:2009-12-10 12:42:58

标签: django apache mod-wsgi

我有一个静态内容的站点,所有在apache上运行的站点都可以访问。作为附件,有一个在django上运行的成员站点。我没有任何问题'分享'我的.css并使双方在外观上相同,但我似乎不太喜欢让我的django网站被django密码保护(附加警告,所有成员材料,从登录向前,经过443)。

我可以提供所有页面,我尝试使用mod_rewrite,如下所示:

<Directory /Library/Webserver/Documents>
.
.
.
</Directory>

WSGIScriptAlias /members /usr/local/django/mysite/apache/django.wsgi 


<Directory /members>
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://{HTTP_HOST}%{REQUEST_URI} [L]
.
.
</Directory>

我已经尝试了上面'/ member位置的一千个不同项目中的每一个,似乎没有任何内容(是的,包括RewriteEngine On - 我可以看看调试结果出来了。)

1 个答案:

答案 0 :(得分:0)

尝试:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

您应该将请求重定向回相同的主机,而不一定是实际的Web服务器主机。

我也不相信mod_rewrite中有%{URI}变量。假设使用%{REQUEST_URI}。


编辑1

根据评论,应该是:

<Location /members>
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://{HTTP_HOST}%{REQUEST_URI} [L]
.
.
</Location>

或:

<Directory /usr/local/django/mysite/apache>
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://{HTTP_HOST}%{REQUEST_URI} [L]
.
.
</Directory>

因此,位置用于URL,目录用于文件系统目录。