0

私は静的コンテンツ用のサイトを持っており、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 が含まれています - デバッグが表示されるのを見ることができます)。

4

1 に答える 1

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>

したがって、Location は URL、Directory はファイル システム ディレクトリです。

于 2009-12-10T21:07:40.533 に答える