Apache永久redirect

我怎么能redirect两个域在同一台服务器上..让说这个域

http://www.game.com -> http://www.games.com http://game.com -> http://www.games.com http://games.com -> http://www.games.com (*this is not redirecting*) 

所有的域名都应该redirect到这个域名http://www.games.com

inheritance人当前的htaccess内容

 RewriteCond %{HTTP_HOST} ^game.com$ [OR] RewriteCond %{HTTP_HOST} ^www.game.com$ RewriteRule ^/?$ "http\:\/\/www\.games\.com\/" [R=301,L] RewriteCond %{HTTP_HOST} ^games.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.game.com$ RewriteRule ^/?$ "http\:\/\/www\.games\.com\/" [R=301,L] 

每个人都喜欢使用mod_rewrite的时候,往往有一个简单的方法做同样的事情。 这使用mod_alias。

 <VirtualHost *:80> ServerName game.com ServerAlias www.game.com ServerAlias games.com Redirect permanent / http://www.games.com </VirtualHost> <VirtualHost *:80> ServerName www.games.com . . . </VirtualHost> 

mod_rewrite似乎矫枉过正。 如果您有权访问vhostconfiguration,则可以通过在单个虚拟Hosts中捕获Hosts并使用RedirectMatch来简化。

 <VirtualHost *:80> ServerName games.com ServerAlias game.com www.game.com RedirectMatch permanent .* http://www.games.com/ </VirtualHost> 

最后一个RewriteCond不应该是必须的 – 这是第一条规则中第二个条件的重复。

没有看到完整的Apacheconfiguration,我不能肯定地说,但是根据我的经验,这种问题最常见的原因是,当你重写的虚拟主机实际上并没有覆盖主机名时,其他虚拟主机configuration正在使用的域名。