【问题标题】:static site apache and dynamic/member site django静态站点 apache 和动态/成员站点 django
【发布时间】:2009-12-10 12:42:58
【问题描述】:

我有一个静态内容站点,所有在 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>

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

【问题讨论】:

    标签: django apache mod-wsgi


    【解决方案1】:

    试试:

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

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

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


    编辑 1

    根据 cmets,应该是:

    <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>
    

    因此,Location 用于 URL,Directory 用于文件系统目录。

    【讨论】:

    • 对不起,我所做的部分是凭记忆,没有机器在我面前。让我难过的不是 rewritecond/rewriterule,而是让他们着火。我已将它们放置在每个可以想象的 配置中,但它们似乎从未命中。 (小澄清,如果我使用常规目录执行此操作,它工作正常,似乎我无法确定将上述行放入的正确 DJANGO 结构。)
    • 这是因为如果参数是 URL,您应该使用“位置”而不是“目录”。如果要使用“目录”,则应该是 WSGI 脚本文件的位置,但不能将其限制为整个站点的子 URL。所以,使用“位置”。去阅读关于“位置”和“目录”之间区别的 Apache 文档。
    • 格雷厄姆,谢谢一百万 - 给我一点阅读,然后回来标记你的答案已接受。你的声誉在你之前,所以我很确定这将是一个简短的搜索。
    • 无赖,完全没有影响。似乎我的位置/目录永远不会匹配,因为我在我的 rewrite.log 中除了“使用请求的 uri /members 初始化重写引擎”和“通过 /members”之外什么都没看到
    • 你确定你没有弄乱你的 VirtualHost 定义,实际上是在匹配错误的 VirtualHost。而不是重写,添加“全部拒绝”以查看是否正在使用该部分。如果是,你应该得到禁止错误。
    猜你喜欢
    • 2015-02-19
    • 2021-04-05
    • 1970-01-01
    • 2021-09-29
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多