2011-04-02 48 views
1

我使用我的htaccess文件下面的代碼來做到這一點如何使用.htaccess的

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(www.)?website.com$ 
RewriteCond %{REQUEST_URI} !^/www/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ /www/$1 

RewriteCond %{HTTP_HOST} ^(www.)?website.com$ 
RewriteRule ^(/)?$ www/index.php [L] 

它所做的是,每當www.website.com被加載,它加載從/www/目錄中的內容,並保持URL參數相同(這是真棒)。

無論如何,我現在想要的是,無論何時加載任何子域(除www之外),我想從/subdomain/目錄加載其內容並保持url參數相同(即不在地址中顯示subdomain酒吧/ URL)。

回答

1

你可能想要引用RewriteCond的一部分,所以你可以使用它作爲子域文件夾。

RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).website.com [NC] 
RewriteRule ^(/)?$ %2/index.php [NC,QSA] 

%2個參考第二令牌匹配(事物括號內的標記)在被在的RewriteCond
[NC]匹配正則表達式意味着任何情況下
[QSA]表示查詢字符串追加

+0

但是,這顯示在URL中的文件夾名稱,我不想要的。 – 2011-04-02 09:40:56

+1

明白了,謝謝。 – 2011-04-02 10:11:58