https://stackoverflow.com/questions/39303725/virtual-host-force-https-and-redirect-www-to-non-www-but-no-other-subdomains
With the proper use of regular expressions, the redirection of www to a non-www domain is quite simple:
Listen for incoming HTTP connections
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
RewriteEngine on
# Redirect both www.example.com and example.com to https://example.com
RewriteCond %{HTTP_HOST} ^(www\.)?(.*) [NC]
RewriteRule ^ https://%2%{REQUEST_URI} [L,R=301]
</VirtualHost>
Listen for incoming HTTPS connections
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
RewriteEngine on
# Redirect www.example.com to example.com
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
</VirtualHost>
These virtual host directives only apply to URLs starting with domain.com and www.domain.com because incoming requests must match the ServerName or ServerAlias. This means that any subdomain such as sub.example.com cannot be a successful match.
Không có nhận xét nào:
Đăng nhận xét