.htaccess 使用htaccess将所有流量从子域重定向到域,而无需维护目录结构

.htaccess 使用htaccess将所有流量从子域重定向到域,而无需维护目录结构,.htaccess,redirect,subdomain,.htaccess,Redirect,Subdomain,大多数示例显示如何将所有子域通信重定向到主域,从而维护目录结构。我其实不想要这个。我想将所有子域流量(站点正在离开)重定向到主域。这不起作用: Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://www.newdomain.com/ [R=301,L] 发生的事情是,如果你走到这一步: 你得到这个: 我希望所有内容都转到根目录。在apache配置文件中为子域执行简单的301重定向如何 要重定向域上的所有文件,请在

大多数示例显示如何将所有子域通信重定向到主域,从而维护目录结构。我其实不想要这个。我想将所有子域流量(站点正在离开)重定向到主域。这不起作用:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/ [R=301,L]
发生的事情是,如果你走到这一步:

你得到这个:


我希望所有内容都转到根目录。

在apache配置文件中为子域执行简单的301重定向如何

要重定向域上的所有文件,请在 .htaccess文件如果您在unix web服务器上:

redirectMatch 301 ^(.*)$ http://www.domain.com 
redirectMatch permanent ^(.*)$ http://www.domain.com
还有一个例子

如果需要重定向到 您已经在上启用了mod_rewrite 您的服务器可以将其放入.htaccess文件中:

编辑:如果要使用此选项,只要在上面的第一个选项不起作用的情况下,从示例链接中的规则中删除$1即可

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/ [R=permanent,L]
或者这个:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/ [R=301,L]

如果您想排除所有尾部信息(例如目录结构、参数),这些摘自

的内容只需在目标URL的末尾添加一个问号即可

在您的实例中,只需将其更新为:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/? [R=301,L]

这将处理通配符子域,以及客户端将www置于子域之前的情况

#  wildcard.domain.com  ->  www.domain.com/wildcard
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC]
RewriteCond %1 !^(www)$ [NC]
RewriteCond %1 !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/%1/ [R=301,L]

#   www.wildcard.domain.com   ->   www.domain.com/wildcard
RewriteCond %{HTTP_HOST} ^(www\.(.*))\.domain\.com$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/%2 [R=301,L]