Apache 重写需要针对 https 制定单独的规则吗?

Apache 重写需要针对 https 制定单独的规则吗?

在 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 图案建议另作解释。)

相关内容