.htaccess htaccess重定向其中的子域

.htaccess htaccess重定向其中的子域,.htaccess,redirect,subdomain,.htaccess,Redirect,Subdomain,我有一个网站example.com。到www.example.com的任何流量都会使用以下命令重定向到.htaccess文件中的example.com: Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] 这段代码我在interweb上刷过,效果很好 我现在添加了一个子域subdom.example.com。类似地,到www.subdom.example.com的

我有一个网站example.com。到www.example.com的任何流量都会使用以下命令重定向到.htaccess文件中的example.com:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
这段代码我在interweb上刷过,效果很好

我现在添加了一个子域subdom.example.com。类似地,到www.subdom.example.com的任何流量都应该重定向到非www规范版本

以下代码不起作用:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://subdom.example.com/$1 [R=301,L]

在涉及子域的情况下,重定向的工作方式可能略有不同。任何人都可以分享我如何编辑上述代码片段,将任何www.traffic重定向到规范的非www.subdomain版本吗?

我相信您没有足够的重写条件来执行这两个重定向。所发生的事情是,第一个是无条件重定向,因为它出现在第一个,它总是激发,第二个从不激发

将代码替换为以下内容:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
以上代码将适用于您的两个域