Как добавить www перед поддоменом, созданным динамически?


Я хочу добавить www перед поддоменом, который был создан динамически. Поддомен был создан с помощью *.example.com в панели управления, чтобы пользователь мог создать свой собственный поддомен через интерфейс.

Я добавил этот код в .htaccess, чтобы перенаправить свой домен на https://www.example.com . Но это не работает с поддоменом.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

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

Как мне переписать код так, чтобы при использовании www.subdomain.example.com он может направлять на subdomain.example.com? Без влияет на мое основное доменное имя. Мой основной домен и поддомен будут иметь перенаправление www.

Author: G.Cloud, 2018-04-09

1 answers

Используйте регулярное выражение, чтобы соответствовать поддомену, и используйте Повторную обратную ссылку для перенаправления пользователей обратно:

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com [NC]
RewriteRule ^(.*)$ https://%1.example.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.([^\.]+)\.example\.com [NC]
RewriteRule (.*) https://%1.example.com/$1 [L,R=301]

[^\.]+ соответствует одному или нескольким символам, кроме символа точки (.). %1 - это Перезаписываемая вторая обратная ссылка , которая обеспечивает доступ к сгруппированной части ([^\.]+).

 0
Author: Ben, 2018-04-09 06:19:22