2011-04-04 44 views
0

我在我的服务器上设置了通配符子域名(* .domain.com)。我现在想使用.htaccess将所有* .domain.com请求重定向到我的服务器上的脚本main.php。我搜索了可以帮助完成重定向的代码,但我并没有完全成功。我已经找到了最好的工作代码为:我怎样才能正确捕捉所有的子域(和重定向)与.htaccess?

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com$ [NC] 
RewriteRule ^(.*)$ http://domain.com/%1 [QSA,R=301,L] 

然而,www.subdomain.domain.com被重定向到domain.com/www.subdomain而不是domain.com/subdomain。这怎么可以在代码中解决?有没有更好的方法来做到这一点?

在此先感谢!

回答

1

你可以试试这个重写规则:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)\.domain\.com$ [NC] 
RewriteRule ^(.*)$ http://domain.com/%2 [R=301,L] 
+0

什么是REQUEST_URI? – tundoopani 2011-04-04 05:35:07

+0

@tundoopani:在这样的网址'http:// stackoverflow.com/questions' REQUEST_URI是'questions',HTTP_HOST是'stackoverflow.com' – anubhava 2011-04-04 05:37:21

+0

有没有办法让www。可选的? – tundoopani 2011-04-04 07:21:28