域通用URL重写正则表达式更改二级域名包括www

时间:2014-07-05 09:00:57

标签: regex

我正在尝试提出重定向规则,该规则可以在所有二级域上普遍使用,以重定向到WWW,而我正在努力使用正则表达式。有许多主题,但他们都建议使用命名域,我相信它可以做得更好。

以下是我目前的情况:http://regexr.com/393vp

编辑: 显然链接到第三方编辑器是不够的问题,不要偏离主题。我需要正则表达式匹配

domain.tld
2nddomain.tld
another-domain.tld

但不是

www.domain.tld
one.domain.tld
one.two.domain.tld

2 个答案:

答案 0 :(得分:2)

在使用多行选项时,我无法使其在您的示例数据上正常运行,但如果您单独提供每一行,那么这将与需要“www”的那些匹配。先于他们:

^[^\.]*\.[^\.]*$

它只是行的开头,无限多的非点,一个点,无数多个非点,然后是行的结尾。

答案 1 :(得分:0)

试试这个:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?!www)[^.]+\.example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [QSA,NE,L,R]

如果您对重定向工作感到满意,可以将R更改为R=301以使其永久化。 这假设mod_rewrite 已为htaccess文件激活。 如果您不确定,要检查是否安装了mod_rewrite,请查看phpinfo();输出中已安装模块的列表 默认情况下,不为htaccess文件启用mod_rewrite。如果您要管理自己的服务器,请打开httpd.conf 并确保webroot目录块包含以下行之一:AllowOverride FileInfoAllowOverride All