2009-02-09 89 views
1

我有一个子域,我想使用mod_rewrite重定向到不同的位置。例如:重写CNAME子域

subdomain.example.com - > www.example.com/subdomain

我不想重定向发送到浏览器虽然(所以它不知道的页面是不同的) 。

BTW subdomain.example.com有一个指向example.com的CNAME记录。

编辑

又如,只是为了阐明。这很简单:如果http://x.abc.com被输入到浏览器中,Apache将返回http://www.abc.com/x的内容。

回答

3

如果两个域共享相同的目录,你可以这样做改写内部的要求:

RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ 
RewriteRule !^subdomain/ subdomain%{REQUEST_URI} 

的问题已经得到澄清之后:这个工作对我来说:

RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ 
RewriteCond %1.%{THE_REQUEST} ^([^.]+)\.[A-Z]+\ (/[^\ ]*) 
RewriteCond %{DOCUMENT_ROOT}$1 !-d 
RewriteRule ^([^/]+)? %1%2 

但你最好用Brandon表示。

+0

我不知道我按照你上面的例子,但我想要做的是非常简单的:如果http://x.abc.com被输入到浏览器中,Apache返回http://www.abc.com/x的内容。谢谢! – 2009-02-10 00:06:53

0
RewriteCond %{HTTP_HOST} ^([^.]+)\.abc\.com$ 
RewriteRule ^(.*)$  http://www.abc.com/%1$1 [R=301]