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

Перенаправление с одного TLD на другой

У меня два домена для веб-сайта (мы используем Apache), example.com и example.org. Веб-сайт отвечает на поддомен с подстановочными знаками для обоих из них. Однако я хочу, чтобы .com был каноническим доменом. Под этим я подразумеваю, что хочу перенаправить (301) все на .com, но сохранить поддомен. Например.

example.org => example.com
sub.example.org => sub.example.com

Я недостаточно разбираюсь в регулярных выражениях, чтобы понять, как это настроить. Может кто-то указать мне верное направление?

Попробуй это:

<VirtualHost *:80>
    ServerName example.org
    ServerAlias *.example.org
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(.*\.)?example\.org$
    RewriteRule ^/(.*)$ http://%1example.com/$1 [R=301,L]
</VirtualHost>

... затем настройте другой виртуальный хост (тот, который обслуживает контент для example.com) с ServerName example.com и ServerAlias *.example.com.

Изменить: сделало сопоставление поддоменов необязательным, добавив "?" квантификатор