2011-06-14 155 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 *匹配任何未定义域虚拟主机配置文件的末尾一个包罗万象的虚拟主机块,并转发到所有请求重写规则您希望成为默认的域。