1

私はトラフィックをリダイレクトしようとしています、そして私はそれをこれでうまくいくようにすることができましたHTTP

RewriteEngine On
RewriteCond %{HTTP_HOST} ^wiki\.example\.com
RewriteCond %{HTTPS} !=on
RewriteRule (.*) http://example.com/wiki/$1 [L]
RewriteCond %{HTTP_HOST} ^db\.example\.com
RewriteCond %{HTTPS} !=on
RewriteRule (.*) http://example.com/db/$1 [L]

これまでのところ、で動作するようにはなりませんHTTPS。誰かアイデアがありますか?

4

2 に答える 2

2

のコードを複製する必要がありますが、SSLリダイレクトのをにHTTPS設定します。オプションを設定するだけでなく、リダイレクトにフラグを設定します。さらに、 for wiki / dbを使用して、への逆参照を使用することで、物事を少し単純化できます-RewriteCond%{HTTPS} =onRewriteBaseR=301RewriteCond%N

RewriteEngine On
RewriteBase /

# HTTP Redirects
RewriteCond %{HTTP_HOST} ^(wiki|db)\.example\.com
RewriteCond %{HTTPS} !=on
RewriteRule (.*) http://example.com/%1/$1 [R=301,L]

# HTTPS Redirects
RewriteCond %{HTTP_HOST} ^(wiki|db)\.example\.com
RewriteCond %{HTTPS} =on
RewriteRule (.*) https://example.com/%1/$1 [R=301,L]

ドメイン名が将来変更される可能性があり、一致に基づいてリダイレクトしていることを確認したい場合は、RewriteCond-でより多くの後方参照を使用することもできます。

# HTTPS Redirects
RewriteCond %{HTTP_HOST} ^(wiki|db)\.(example\.com)
RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%2/%1/$1 [R=301,L]
于 2012-10-16T14:50:55.603 に答える
0

HTTPおよびHTTPSに対してリダイレクトを実行する場合は、HTTPS環境変数がオンに設定されているときにリライトの適用を停止しているリライト条件を削除するだけです。

于 2012-10-15T13:39:53.340 に答える