.htaccess确定HTTP_HOST

时间:2014-04-04 01:29:43

标签: .htaccess

我有一个跨多个租户网站,跨越3个不同的域名。例如:

client1.website.com
client2.website.net
client3.website.us
etc

在PHP中,我可以使用$_SERVER['HTTP_HOST']获取主机名,并确定它们是否在website.comwebsite.net等。

我想在我的.htaccess文件中执行相同的操作,因为我有几个重写条件。

他们是:

RewriteCond %{HTTP_HOST} ^regionapi\.website\.com
RewriteCond %{HTTP_HOST} !^website\.com$ [NC]

我可以这样做吗?

domain = %{HTTP_HOST}

RewriteCond %{HTTP_HOST} ^regionapi\.{domain}
RewriteCond %{HTTP_HOST} !^{domain}$ [NC]

我可能会离开,但如果可行的话会很棒。

1 个答案:

答案 0 :(得分:1)

您应该可以在.htaccess

中使用以下内容
RewriteCond %{HTTP_HOST} (www\.)?regionapi\.example\.(com|net|us)$ [NC]
RewriteRule ^(.*)$ http://example.%2/$1 [R=301,L]

根据域名扩展名regionapi.example.(com,net,us)将重定向到:

http://example.(com,net,us)