Как перенаправить все субдомены на основной домен с помощью htaccess? - PullRequest
1 голос
/ 07 июня 2019

Я просмотрел и перепробовал много разных предложений, но все безрезультатно. пожалуйста, помогите!

Я хочу перенаправить все субдомены на основные домены. Я указал DNS для подстановочных субдоменов на мой IP с зоной A, и в настоящее время любой введенный субдомен приведет к 404. Мой конечный результат будет таким, что для любого субдомена и его URL-адресов он будет перенаправлен на основной домен. т.е.

blog.my-domain.com -> my-domain.com (да, мой домен имеет тире)

test.my-domain.com/testing -> my-domain.com

example.my-domain.com -> my-domain.com

мой текущий файл .htaccess выглядит так:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# DO NOT REMOVE THIS LINE AND THE LINES BELOW SSL_REDIRECT:my-domain.com
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^my-domain.com$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# DO NOT REMOVE THIS LINE AND THE LINES ABOVE SSL_REDIRECT:my-domain.com

Я пытался добавить этот кусок кода внизу, но не сработал

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.+)\.my\-domain\.com$ [NC]
RewriteRule (.*) https://my-domain.com%{REQUEST_URI} [L,R=301]

пожалуйста, помогите спасибо !!

1 Ответ

1 голос
/ 10 июня 2019

1) Добавить это правило перед строкой "# BEGIN WordPress"

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^my-domain.com$ [NC]
RewriteRule ^(.*)$ https://my-domain.com/$1 [R=301,L]

Пример перезаписи 1: 1:

(http or https)://any-subdomain.my-domain.com/link <> https://my-domain.com/link

2) Другая возможность - добавить правило только для поддоменов., добавьте его перед строкой "# BEGIN WordPress"

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(.*)\.my-domain\.com$ [NC]
RewriteRule ^(.*)$ https://my-domain.com/ [R=301,L]

Это переписывает все запросы поддоменов к my-domain.com, например:

(http or https)://any-subdomain.my-domain.com/link <> https://my-domain.com/

Выберите опцию, которую вы предпочитаете больше.

...