0
我正在寻找一种方法来将非www域重写为www域,同时不重定向直接IP请求。重定向非www域但不是IP
我在同一台服务器上有多个站点 - 即:一个默认(虚拟)主机和一个带有ServerName和多个ServerAlias'es的VirtualHost,它们完美地工作。我更喜欢域名以“www”开头。所以我砍死下面的代码放在一起,伟大的工程:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
它不处理HTTPS,但最大的问题是,请求到服务器的IP也从如重写。 “123.45.67.8”到“www.123.45.67.8”。我可以添加下面的行来解决这个问题:
RewriteCond %{HTTP_HOST} !^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
...但它是否有效?那IPv6呢?
不是mod_rewrite-wiz,我一直在想弄清楚别人怎么解决这个问题,但是没有运气。