Наш сервер настроен как apache2 в Ubuntu.
Мы приобрели example.com, example.ca, example.org и example.net. Я пытаюсь перенаправить все версии этих примеров на наш https://www.example.com, пытаясь быть СУХОЙ, насколько это возможно. Я нашел много примеров перенаправления http на https или www. для не www. однако я не могу найти много общих правил для отправки всех:
http://www.example.ca
http://example.ca
https://example.ca
https://www.example.ca
(То же, что и выше с .org, .net и .com)
Все на https://www.example.com
Я добавил приведенные ниже правила в наш файл 000-default.conf. Мне интересно, есть ли более чистый способ написания этих правил для лучшего перенаправления на https://www.example.com, и я также ищу помощь с перенаправлением всех запросов https для всех примеров на https://www.example.com. Пожалуйста, дайте мне знать, еслиЯ обедаю или нет.
Спасибо за помощь заранее.
000-default.conf
# Redirect .net to .com
<VirtualHost *:80>
ServerName www.example.net
ServerAlias example.net
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.(net)$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=301]
</VirtualHost>
# Redirect .org to .com
<VirtualHost *:80>
ServerName www.example.org
ServerAlias example.org
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.(org)$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=301]
</VirtualHost>
# Redirect .ca to .com
<VirtualHost *:80>
ServerName www.example.ca
ServerAlias example.ca
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.(ca)$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=301]
</VirtualHost>
# Redirect back to example.com
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
RewriteEngine on
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>
# Enable ssl certifications
<VirtualHost *:443>
DocumentRoot /var/www/html
ServerName www.example.com
ServerAlias example.com
SSLEngine on
SSLCertificateFile path to chain
SSLCertificateKeyFile path to key
</VirtualHost>