2012-03-27 91 views
0

我對整個.htaccess的東西相當新,但我有一個問題。我想建立一個系統,以便在域之前輸入的每個東西都會重寫到網站上的文件夾中。爲了使它更清楚,這是一個例子:域名重寫到一個文件夾

如果用戶類型,例如:

example1.example.com 

它有讓現場形成根/例1 /文件夾。

如果用戶類型,例如:

klsdjf.example.com 

它有讓現場形成根/ klsdjf /文件夾。

我希望這是我所想達到一個明確的解釋。

感謝名單,

+0

看到這個http://stackoverflow.com/questions/1456956/redirect-subdomain-to-folder – 2012-03-27 07:56:44

+0

感謝您的快速回復,但是當我包裝它時,它給了我這個錯誤:此外,遇到403禁止錯誤同時嘗試使用ErrorDocument來處理請求。 – jorveld 2012-03-27 08:20:34

回答

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] 

這應該工作。

相關問題