Назад | Перейти на главную страницу

Как перенаправить example.com с HTTPS на HTTP, а затем с HTTP example.com на newdomain.com?

На данный момент я использую это правило (в .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 Вот и все.