在 centos8 服务器上,我创建了一个名为 /etc/httpd/conf.d/rewrite.conf 的文件,其内容如下:
RewriteEngine on
RewriteRule (.*) https://www.othersite.com [L,R]
如果我去http://myserver.com它被重定向到https://www.othersite.com正如预期的那样。但是,如果我转到https://myserver.com它没有被重定向。我只得到常规的 index.html。已安装有效证书。
它应该像那样工作吗或者 apache 是否需要 SSL 虚拟主机定义中的额外重写规则?
答案1
apache 是否需要在 SSL 虚拟主机定义中添加额外的重写规则?
是的。
您的rewrite.conf
文件需要包括在这两个地方,因为 vHost 主机覆盖主服务器配置(我假设您已经为端口 80 定义了站点)。(尽管端口 80 最好在其自己的 vHost 容器中定义。)
RewriteRule (.*) https://www.othersite.com [L,R]
请注意,这会将所有请求重定向到根目录othersite.com
- 这就是意图。(您在RewriteRule
图案建议另作解释。)