我有一个静态内容的站点,所有在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 - 我可以看看调试结果出来了。)
答案 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,目录用于文件系统目录。