我已经在htaccess中设置了重定向,以将别名重定向到子目录:alias.example.com正在重定向到www.example.com/folder。
这是我的代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?alias.example\.com$ [NC]
RewriteRule ^ https://www.example.com/folder%{REQUEST_URI} [NE,R=301,L]
已设置SSL,它可以很好地适用于https://alias.example.com/page之类的任何URL,这些URL会转到https://www.example.com/page。
但是,如果别名URL位于http中,则会转到404错误页面:http://alias.example.com/page至http://www.example.com/404。
我在代码中缺少什么吗?
谢谢
答案 0 :(得分:0)
下面是相同的工作代码。
RewriteEngine on
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} ^alias.example.com [NC]
RewriteRule ^ https://www.example.com/folder%{REQUEST_URI} [NE,L,R=301]
htaccess重写规则的演示/测试位于htaccess tester
我们已将 https 以及带有别名{strong> rewrite 的规则与OR
子句结合在一起
遵循此规则
http://alias.example.com/page重定向到https://www.example.com/folder/page