Есть несколько вопросов, как это, но мой вопрос немного отличаетсяПеренаправление не-WWW к WWW, кроме подобласти .htaccess
Redirect non-www to www in .htaccess
force non www to www in htaccess
Я хочу перенаправить не-www версию веб-сайта на www, но она не должна каким-либо образом влиять на поддомены, поэтому
www.example.com => www.example.com
example.com => www.example.com
sub1.example.com => sub1.example.com
sub2.example.com => sub2.example.com
это не работает, потому что он не ведет себя хорошо в случае поддоменов
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Это решение отлично работает
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
однако, главное, я не хочу, чтобы жестко закодировать имя домена в htacess. Как (если возможно) иметь вышеупомянутые перенаправления для общего случая - без упоминания точного имени домена?
Благодаря
ТКС для asnwer: он не работает, но, возможно, это из-за меня есть домен 'example.com.au'? возможно ли заставить его работать как с доменами example.com, так и с example.com.au? – dav
это сработало, но можем ли мы обобщить com и au part? Я имею в виду, что я пробовал как этот 'RewriteCond% {HTTP_HOST}^[^.] + \. [Az] {2,3} (\. [Az] {2})? $ [NC]', и он работал, но это правильный синтаксис? tks – dav
Хм, ваше регулярное выражение не является на 100% надежным, чтобы обнаружить неподдомены. Например, он будет соответствовать 'bbc.co.uk', который является субдоменом. – anubhava