我应该如何设置apatch适当的子域redirect

我有一个名可以说是domain.com。 此域名转到服务器与此服务器上的Apache我正在运行该域名的三个网站是:

domain.com(默认)dev.domain.com mail.domain.com

每个域名在我的〜/ public-www /文件夹中都有一个相同名称的目录。

我希望www.domain.com将我redirect到domain.com,我希望将development.domain.comredirect到dev.domain.com,我希望email.domain.com和epost.domain.com将我redirect到邮件.domain.com,我希望所有其他子域将我redirect到默认的domain.com网站。

我应该如何configuration我的apache2网站,以便像这样工作,并做适当的redirect。 有人告诉我,为了让search引擎正确地对我的网站进行索引和排名,redirect必须用301redirect或类似的方法来完成。

您将首先检查您是否已经激活了虚拟主机,并确保已加载模块mod_rewrite

然后,在您的文件httpd.conf或单独的文件中写入您的不同虚拟主机:

  • domain.comdev.domain.commail.domain.com的虚拟主机开始
  • 然后,为development.domain.comepost.domain.comemail.domain.comconfiguration虚拟主机
  • 最后一个用于www.domain.com和其他子域名的redirect。

例如,为了将email.domain.comredirect到mail.domain.com ,您可以使用类似于以下的内容:

 <VirtualHost *:80> ServerName email.domain.com ServerAlias epost.domain.com <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(.*) http://mail.domain.com$1 [R=301,L] </IfModule> </VirtualHost> 

你可以调整它为development.domain.com

关于www.domain.com ,您可以在ServerAlias指令中使用*.domain.com来匹配所有其他子域名。