我现在已经尝试在我的.htaccess文件中使用2天了,但我无法正常使用它。
我在公司工作,他们需要这些特定的重定向到他们的网站和子域名,因为他们的joomla设置需要它。
所有情景:
http://www.my-main.be - > https://www.my-main.be
http://my-main.be - > https://www.my-main.be
https://www.my-main.be - > https://www.my-main.be
https://my-main.be - > https://www.my-main.be
http://www.mysub.my-main.be - > http://mysub.my-main.be
http://mysub.my-main.be - > http://mysub.my-main.be
https://www.mysub.my-main.be - > http://mysub.my-main.be
https://mysub.my-main.be - > http://mysub.my-main.be
请注意:
这可能吗?
如果我没有充分解释这一点,请发表评论,我会更多地澄清它。
提前致谢
答案 0 :(得分:0)
您可以将这些规则放在RewriteEngine
行:
RewriteEngine On
# for main domain
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(my-main\.be)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]
# for sub domain
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(mysub\.my-main\.be)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L,NE]
# rest of rules go here
清除浏览器缓存后进行测试。
答案 1 :(得分:0)
请检查下面的规则,这两个规则也适用于动态子域
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(?:www\.)?((.*))$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]