在我正在工作的应用程序中,我需要动态创建子域名。如果我知道我需要重定向到哪个域,那将是非常微不足道的。 关键是我可以有许多指向同一服务器的域,每个域可能有很多子域,我想要一个可以处理它的htaccess。
例如:domain1.com,domain1.com.br,domain2.com,domain2.co.uk都可以指向我的服务器。当用户尝试访问sub.domain1.com时,我希望将其透明地重定向(无301重定向)到domain1.com。如果他试图访问sub.domain1.com.br,我希望它透明地重定向到domain1.com.br等等(请注意,两个重定向都指向完全相同的点,唯一的区别在于地址巴)。
到目前为止,我尝试在从www重定向的行中进行更改失败。到非www域,但没有按预期工作:
//This works
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
//This ends with a "too many redirections" error
#RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [L,QSA]
有人可以帮忙吗?
答案 0 :(得分:0)
试试这个:
RewriteCond %{HTTP_HOST} ^(.+)\.([^.]{4,})\.([a-z]{3,4}|[a-z]{2,3}\.[a-z]{2}|[a-z]{2})$ [NC]
RewriteRule ^(.*)$ http://%2.%3/$1 [L,R=301]
这应涵盖所有这些: