Как добавить 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.
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
- это Перезаписываемая вторая обратная ссылка , которая обеспечивает доступ к сгруппированной части ([^\.]+)
.