0
私はHTTPSにHTTPからすべてのトラフィックをリダイレクトしたいのですが、特定のURLは/ oldsiteと異なっている場合にのみ、(だけサブドメインSUB1とSUB2で)HTTPSへのリダイレクトだけで特定のドメイン/サブドメインおよび特定のURL
例えば:
http://example.com/any/thing --> redirects to --> https://example.com/any/thing
http://sub1.example.com/any/thing --> redirects to --> https://sub1.example.com/any/thing
しかし
http://example.com/oldsite/any/thing
と
http://sub1.example.com/oldsite/any/thing -> do not cause this redirect
私が試した:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:(sub1|sub2)\.)?example\.com
RewriteCond %{REQUEST_URI} !^/oldsite [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
ありがとうございました。
UPDATE:HTTPS
がオフのときに、あなたのルールを持っているし、代わりにREQUEST_URI
のTHE_REQUEST
変数を使用してください
RewriteCond %{THE_REQUEST} !/oldsite [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301, NE]
ありがとうございました...しかし、うまくいきませんでした...まだHTTPSにリダイレクトされています...どんなアイデアですか? 私はhttp://example.com/oldsite/a/bにアクセスしたばかりで、HTTPSバージョン – Pipe
にリダイレクトされます。これが.htaccessの最初のルールであることを確認し、ブラウザのキャッシュを完全にクリアするか、コマンドからテストしてください'' curl''または '' wget'' – anubhava