.htaccess重写规则

可能重复:
一切你想知道Mod_Rewrite规则,但不敢问?

以下代码添加www。 到任何不以它开头的url:

RewriteCond %{HTTPS} !on [OR] RewriteCond %{HTTP_HOST} !^www\. RewriteCond %{HTTP_HOST} ^(www\.)?(.+) RewriteRule ^ https://www.%2%{REQUEST_URI} [L,R=301] 

不过,我希望它只有当url的格式是这样的:

 something.com 

如果url是这样的:

 something.something.com 

我不希望添加www的规则。

我如何改变这个?

更改

 RewriteCond %{HTTP_HOST} !^www\. 

至:

 RewriteCond %{HTTP_HOST} !(^www\.|\..+\.) 

换句话说,改变你的条件从寻找“www”到寻找www 寻找两个点。

尽pipe如此,考虑到问题描述,这也可能起作用,并且具有更简单的优点:

 RewriteCond %{HTTP_HOST} !\..*\. 

这个问题可能被描述得更好,因为“只用一个点重写任何主机就可以预先login”www。“。