域重写到文件夹

时间:2012-03-27 07:53:27

标签: .htaccess

我对整个.htaccess事情相当新,但我有一个问题。我想建立一个系统,以便在域名之前键入的所有内容都会重写到网站上的文件夹中。为了更清楚,这是一个例子:

如果用户键入例如:

example1.example.com

它必须从root / example1 /文件夹中获取站点。

如果用户键入例如:

klsdjf.example.com 

它必须从root / klsdjf /文件夹中获取该站点。

我希望这清楚地解释了我想要实现的目标。

感谢名单,

1 个答案:

答案 0 :(得分:0)

根据我的理解,您希望将通配符子域中的重写规则路由到根文件夹。

所以,

*.example.com => example.com/*

步骤1.配置DNS

首先,您必须确保正确配置了DNS主机。您必须确保您的域接受指向主机IP地址的通配符(*)。这应该是一个简单的A记录。

步骤2.告诉Apache以不同方式处理子域

完成此操作后,您必须告诉Apache以不同方式处理子域。

在httpd.conf中,查找如下所示的内容:

ServerAlias www.example.com example.com

并改为:

ServerAlias www.example.com example.com *.example.com

example.com,当然是您网站的名称。

步骤3.实际重写规则

然后,这是你的.htaccess:

   Options +FollowSymLinks
   Options +Indexes
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
   RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).example.com [NC]
   RewriteRule (.*) %2/$1 [L]

这应该有效。