2009-02-17 86 views
1

我想要任何请求http://example.com/ *被重定向到http://www.example.com/ *。Apache将一个空白子域重定向到另一个子域的最佳方式是什么?

其中*是任意的路径。

+0

使用“示例”。 com“而不是foo:某人将实际拥有并使用foo域。你确定没有提供恶意软件或色情吗?无论如何,通常的做法是重定向到另一个方向:www.example.com应指向example.com,而不是相反。 – 2009-02-17 22:01:19

回答

3

使用Apache的mod_alias模块做一个永久重定向,如:

RedirectPermanent/"http://www.example.com/" 

将空白子域名的虚拟主机块或根级.htaccess文件中的重定向。

尾随/ on“http://www.example.com/”至关重要。

2

我会在这里添加另一个选项,我也用它来允许其他特定的主机。例如,如果您希望dev.example.com和blog.example.com网站以及www.example.com网站,请将其放在根级别.htaccess文件中:

RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^www\.example\.com 
RewriteCond %{HTTP_HOST} !^dev\.example\.com 
RewriteCond %{HTTP_HOST} !^blog\.example\.com 
RewriteRule (.*) http://www.example.com/$1 [R=301,L,QSA]