Apache重定向问题

时间:2013-02-25 11:53:41

标签: apache mod-rewrite redirect

我认为这种重定向可行,但不是:

RewriteCond %{HTTP_HOST} ^(.*)\.sub\.my-domain\.com$
RewriteRule ^(.*)$ http://sub.my-domain.com/$0 [R=301,L]

它假设像:

*.sub.my-domain.com -> sub.my-domain.com
123.sub.my-domain.com -> sub.my-domain.com
asdf.sub.my-domain.com -> sub.my-domain.com

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是使用虚拟主机容器,因为它不需要任何其他解析即可。

将所有内容重定向到sub.my-domain.com,同时保留任何路径

<VirtualHost *:80>
    ServerName *.sub.my-domain.com
    Redirect permanent / http://sub.my-domain.com/
</VirtualHost>

然后您拥有sub.my-domain.com的普通虚拟主机容器。

如果你想用重写做,你需要这个。它检查主机是否正确,如果不是

则重定向
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^sub\.my-domain\.com$ [NC]
RewriteRule ^(.*)$ http://sub.my-domain.com/$1 [R=301,NC,L]