301将子域重定向到目录

时间:2011-03-04 15:57:23

标签: mod-rewrite apache2 subdomain

我目前有几个“快捷方式”子域名(因为有些用户似乎比URL更容易记住子域名)。我目前通过以下方式执行此操作:

 <VirtualHost *:80>
    ServerName redirects.domain.com
    ServerAlias *.domain.com

    RewriteEngine On

    # Option 1
    RewriteCond %{HTTP_HOST} ^option1\.domain\.com$
    RewriteRule ^.*$ http://www.domain.com/option1%{REQUEST_URI} [R=301,L]

    # Option 2
    RewriteCond %{HTTP_HOST} ^option2\.domain\.com$
    RewriteRule ^.*$ http://www.domain.com/option2%{REQUEST_URI} [R=301,L]
 </VirtualHost>

这是我的网站启用文件夹中的最后一个条目,因此它不会干扰其他“真正的”子域定义。

我有两个问题:

  1. 是否有一般规则只是在domain.com/之后附加HTTP_HOST的子域部分,因此1个一般规则就足够了?
  2. 如果存在这样的规则,我是否仍然可以定义可以重定向的有效子域? (即具有类似阵列的结构)

1 个答案:

答案 0 :(得分:2)

# General Option
RewriteCond %{HTTP_HOST} ^(option1|option2)\.domain\.com$
RewriteRule ^.*$ http://www.domain.com/%1%{REQUEST_URI} [R=301,L]