apache2 将 www 附加到 https url

apache2 将 www 附加到 https url

我在 AWS 中使用 bitnami 有一个 apache2 网络服务器。在我的bitnami.conf文件中,我需要将所有 URL 重写为

https://www.example.com

我能够正确重定向以下内容

mydomain.com
http://example.com
www.example.com

但当 URL 是时https://example.com它不会重定向到https://www.example.com.

我的配置是

<VirtualHost _default_:80>
      DocumentRoot "/opt/bitnami/apache2/htdocs"
      RewriteEngine On
      RewriteCond %{HTTPS} !=on
      RewriteRule ^ - [E=protossl:s]
      RewriteCond %{HTTP_HOST} ^([a-z.]+)?example.com$ [NC]
      RewriteCond %{HTTP_HOST} !^www. [NC]
      RewriteRule .? http://www.%example.com%{REQUEST_URI} [R=301,L]
      RewriteRule /smecweb/(.*) /$1 [R=301]
      RewriteRule ^(/(.*))?$ https://www.%{SERVER_NAME}/$1 [R,L]

我尝试在 中做类似的事情 <VirtualHost _default_:443>,但是又恢复了原样。

有人能指出我在这里做错了什么吗?

答案1

您使用的RewriteCondRewriteRule听起来不对。定义的服务器名称是什么?

您可以尝试这个配置:

Servername www.example.com
Serveralias  example.com
RewriteEngine on
RewriteRule (.*) https://%{HTTP_HOST}$1 [L,R=301,QSA,NE]

相关内容