301 Перенаправление домена без www работает, но с www нет - PullRequest
0 голосов
/ 04 апреля 2019

В настоящее время я работаю над запросом, чтобы перенаправить домен A в домен B и перенаправить определенную страницу в домене A в домен B. Вот ожидание в псевдокоде:

foo.com =====> https://www.bar.com
foo.com/foo =====> https://www.bar.com/bar

и:

www.foo.com =====> https://www.bar.com
www.foo.com/foo =====> https://www.bar.com/bar

Однако, только перенаправления не-www работают, как ожидалось, и перенаправления www не работают вообще.По сути, первый набор перенаправлений выше работает, а второй набор не работает.

Вот мой файл Vhost:

<VirtualHost *:80>
  ServerName foo.com
    ServerAlias www.foo.com
    ErrorLog /etc/httpd/logs/foo.com-error.log
  Include /etc/httpd/conf.d/rewrite_rules/foo.com.rewrite
</VirtualHost>

Мое правило перезаписи:

RewriteEngine On
RewriteRule ^/foo$  https://www.bar.com/bar  [R=301,L,NC]
RewriteRule (.*) https://www.bar.com  [R=301,L,NC]

Что странно, когда я тестирую с помощью curl на тестовом сервере, кажется, что URL перенаправляется:

301 http://www.foo.com/ https://www.bar.com

У меня возникает ощущение, что я что-то упустил в своем правиле перезаписи.Кто-нибудь может посоветовать проблему?Заранее благодарим за помощь.

1 Ответ

0 голосов
/ 05 апреля 2019

Разобрался с ответом на этот вопрос.Как выясняется, все действующие правила функционируют и работают так, как задумано;однако сертификат SSL на сервере вызывал ошибку несоответствия.

Это несоответствие в сертификатах SSL остановило функцию перенаправления.После загрузки необходимых сертификатов все заработало как положено.Надеюсь, что этот ответ поможет кому-то нуждающемуся в будущем.Спасибо.

...