如果网址中没有子域

时间:2018-06-04 18:31:24

标签: apache .htaccess

我有

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

如果www不在网址中,则重定向到www.mysite.com。 问题在于它还会将www添加到子域 例如

test.mysite.com将更改为www.test.mysite.com

如果没有设置子域名,我怎么能调整该规则才能添加www?

1 个答案:

答案 0 :(得分:2)

  

如果没有设置子域名,我怎么能将该规则添加到www?

设置条件以使其仅适用于您的主域:

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

确保在新浏览器中对此进行测试,以避免旧缓存。

正则表达式^[^.]+\.[^.]+$将使用单个DOT匹配任何域,因此它将跳过子域。