Apache 将所有http和https子域重定向到其他子域

Apache 将所有http和https子域重定向到其他子域,apache,mod-rewrite,Apache,Mod Rewrite,我正在尝试重定向: minecloud.domain.co https//minecloud.domain.co beta.minecloud.domain.co 至: https//beta.minecloud.domain.co 这是我的代码,但它不会将https//minecloud.domain.co重定向到我想要的: RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L

我正在尝试重定向:

  • minecloud.domain.co
  • https//minecloud.domain.co
  • beta.minecloud.domain.co
至:

  • https//beta.minecloud.domain.co
这是我的代码,但它不会将https//minecloud.domain.co重定向到我想要的:

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
RewriteCond %{HTTP_HOST} !^beta.minecloud\.
RewriteRule ^(.*)$ https://beta.minecloud.%{HTTP_HOST}%{REQUEST_URI} [L,R=302]

非常感谢您的帮助。

这应该对您有用:

# Redirect http://beta.minecloud.domain.co/ to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^beta\.minecloud\.domain\.co$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
# Redirect minecloud.domain.co to beta.minecloud.domain.co
RewriteCond %{HTTP_HOST} ^minecloud\.domain\.co$
RewriteRule ^ https://beta.minecloud.domain.co%{REQUEST_URI} [L,R=302]
你确定要302个重定向吗?301永久重定向可能更适合您,尽管这302更适合测试


第3行的额外
RewriteCond
是避免
http://minecloud.domain.co

这应该适合您:

# Redirect http://beta.minecloud.domain.co/ to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^beta\.minecloud\.domain\.co$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
# Redirect minecloud.domain.co to beta.minecloud.domain.co
RewriteCond %{HTTP_HOST} ^minecloud\.domain\.co$
RewriteRule ^ https://beta.minecloud.domain.co%{REQUEST_URI} [L,R=302]
你确定要302个重定向吗?301永久重定向可能更适合您,尽管这302更适合测试

第3行的额外
RewriteCond
是避免
http://minecloud.domain.co