重定向所有HTTP和HTTPS子域的其他子域
问题描述:
我试图重定向:重定向所有HTTP和HTTPS子域的其他子域
- 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
。