【发布时间】:2021-04-14 18:52:17
【问题描述】:
一段时间以来,我一直在四处寻找问题的答案,并阅读了其他各种答案,但没有找到适合我的答案。
我要解决的问题涉及重定向对安装在 Apache 服务器上的 WordPress 站点的访问。 WordPress 站点是作为 WordPress 网络安装的一部分安装的众多站点之一,该站点设置在域 https://www.mysite1.co.uk 上。
还需要使用一些服务器别名来访问该站点,这些别名将被重定向到根域。我在 Apache 配置中创建了额外的域作为服务器别名,并设置了重定向以确保如果输入了其中一个别名,那么它应该被重定向到根域。
<VirtualHost *:80>
ServerName www.mysite1.co.uk
ServerAlias mysite1.co.uk www.mysite2.co.uk mysite2.co.uk
...
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)\.?$ [NC]
RewriteRule ^ https://www.mysite1.co.uk%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName www.mysite1.co.uk
ServerAlias mysite1.co.uk www.mysite2.co.uk mysite2.co.uk
...
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)\.?$ [NC]
RewriteRule ^ https://www.mysite1.co.uk%{REQUEST_URI} [R=301,L]
SSLEngine On
SSLCertificateFile "certs/mysite1.co.uk.crt"
SSLCertificateKeyFile "certs/mysite1.co.uk.key"
</VirtualHost>
只要用户使用 http 输入其中一个别名,此配置就会起作用,它们会被重定向到 https://www.mysite1.co.uk/。但是,如果他们使用 https 输入别名,而不是被重定向到 https://www.mysite1.co.uk/,他们根本不会被重定向。
我是否遗漏了配置中的某些内容,或者我是否需要分离 https 配置并将别名添加到它们自己的虚拟主机中以进行重定向。 这些站点托管在 CentOS 7.9.2009 上并运行 Apache 2.4.6。
【问题讨论】:
标签: wordpress apache redirect httpd.conf