На данный момент я использую это правило (в .htaccess на example.com) для перенаправления HTTPS / HTTP example.com на newdomain.com:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://newdomain.com/$1 [R=301,L]
И при поиске я обнаружил, что следующее правило перенаправляет HTTPS на HTTP:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
Как мне их объединить, чтобы - - https://example.com
перенаправляет на http://example.com
а потом, http://example.com
перенаправляет на http://newdomain.com
.
Я не могу объяснить, почему я не прошу что-то вроде этого - - HTTPS / перенаправляет на http://newdomain.com. Короче говоря, я искал и спрашивал, и предложенные правила не работают, вероятно, потому что я использую самозаверяющий сертификат и тот же сертификат для двух доменов (example.com - это дополнительный домен, а newdomain.com основной домен). Пожалуйста, сообщите, если в этом есть смысл.
Интересное требование, я не уверен, что понимаю, зачем вы это делаете - просто требуется два 301
ответы, чтобы попасть на newdomain.com вместо одного .. Но я полагаю, это сделает это:
RewriteEngine on
# First rule - if this is an SSL connection, then redirect
# to http://example.com then stop processing other rules
RewriteCond %{HTTPS} on
RewriteRule (.*) http://example.com/$1 [R=301,L]
# Second rule - all other requests, redirect to http://newdomain.com.
RewriteRule (.*) http://newdomain.com/$1 [R=301,L]
Спасибо за помощь, @Shane Madden. Все получилось. Это было правило .htaccess (из example.com), которое я использовал и использую:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^.*example\.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
Причина, по которой это не работало раньше, заключалась в том, что два домена использовали один и тот же сертификат SSL (поскольку один является дополнительным доменом под учетной записью Cpanel другого домена). «Перенаправление HTTPS не работает для дополнительных доменов».
Итак, я создал новую учетную запись cpanel для example.com. То есть получить отдельный сертификат SSL для example.com Вот и все.