2011-06-14 65 views
2

你好我怎樣才能通過htaccess指向一些子域到某個文件夾。htaccess點子域到文件夾

我用這個點,它的作品,但我不能得到它的工作對其他子域..

RewriteCond %{HTTP_HOST} !^www\.example.org 
RewriteCond %{HTTP_HOST} some1\.example.org 
RewriteRule ^(.*)$ /some1_folder/index.php/$1 
RewriteRule ^some1$ /some1_folder/index.php/$1 

http://some1.example.org/Content =>http://example.org/some1/index.php/Content

如果我讓:

RewriteCond %{HTTP_HOST} !^www\.example.org 
RewriteCond %{HTTP_HOST} some1\.example.org 
RewriteRule ^(.*)$ /some1_folder/index.php/$1 
RewriteRule ^some1$ /some1_folder/index.php/$1 

RewriteCond %{HTTP_HOST} !^www\.example.org 
RewriteCond %{HTTP_HOST} some2\.example.org 
RewriteRule ^(.*)$ /some2_folder/index.php/$1 
RewriteRule ^some2$ /some2_folder/index.php/$1 

我得到500內部錯誤。

另外,我怎樣才能將所有不存在的域指向某個文件夾(foo.example.org => www.example.org)。謝謝。

回答

6

通過在RewriteRule中使用%1從上一個RewriteCond中獲取括號內的值,爲所有子域創建一組規則。

RewriteCond %{HTTP_HOST} !^www\.example\.org 
RewriteCond %{HTTP_HOST} ^(.*)\.example\.org 
RewriteRule ^(.*)$ http://www.example.org/%1/index.php/$1 

對所有不存在的子域重定向到一個域,創建在含有ServerAlias *匹配任何未定義域虛擬主機配置文件的末尾一個包羅萬象的虛擬主機塊,並轉發到所有請求重寫規則您希望成爲默認的域。