У меня есть сайт с доменом example.info. Недавно я приобрел два новых домена: example.com и example.org.
У меня был SSL-сертификат на example.info, и я перенаправлял все http на https следующим образом:
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Теперь я хочу, чтобы example.com был основным URL-адресом, а два других я просто хочу перенаправить на example.com.
Я изменил SSL-сертификат с .info на .com, и все хорошо, но моя проблема в том, что, например, Google связывает меня с https://example.info , и теперь он терпит неудачу, потому что этот URL-адрес не иметь SSL-сертификат больше. Итак, что я хочу сделать, это перенаправить https://example.info на https://example.com.
Я пробовал разные вещи, но это одно из решений, которое не сработало.
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^(www\.)?example\.info$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.info$
RewriteRule ^ https://example\.com [L,R=301]
Что я делаю не так? Как я могу перенаправить https://example.info на https://example.com и сохранить перенаправление на https for example.com?
//// РЕДАКТИРОВАТЬ
Если я не могу перенаправить https://example.info , потому что у меня больше нет действующего сертификата, как мне предотвратить это, когда я пишу http://example.info, он перенаправляется на https ?
Спасибо. Тогда есть ли решение, когда вы больше не хотите иметь сертификат?
Я думаю, что лучшее, что вы можете сделать, это:
RewriteCond %{HTTP_HOST} ^(www\.)?example\.(info|org)$
RewriteRule ^ https://example\.com%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
В итоге я сделал что-то подобное, потому что иначе по какой-то причине он все равно попытался бы перенаправить на example.info , но я принимаю ваш ответ, потому что он поставил меня на правильный путь. RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} ^(www\.)?example\.com$ RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^ (www\.)?example\.info$ RewriteRule ^ пример\.com/$1 [R=301,L]
Вы не можете перенаправить
https://example.info
, если у него нет действительного сертификата ssl.