我们的客户在英国有很多分店。他们的一些分支机构拥有自己的网站,并拥有自己的域名。客户端有一个部分构建的系统,访问:
www.client.com/aboutus.php?id=branchId
显示该特定分支的“关于我们”页面。我需要的是一种将特定域映射到其branchId的方法(目前这都存储在数据库中),以便
www.client.com/aboutus.php?id=4
映射到
www.branchid4.com/aboutus.php
答案 0 :(得分:1)
这对我有用。不确定您的域是否可以使用单个通用规则集(即获取ID然后在重写中使用它),否则您需要重复每个URL的最后3行
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?client.com$
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /aboutus\.php\?id=4\ HTTP/
RewriteRule ^.*$ http://www.branchid4.com/about.php? [R=301,L]
答案 1 :(得分:0)
您可以从主机名中取出关键部分并将其传递给您的脚本:
RewriteEngine on
RewriteCond %{QUERY_STRING} !(^|&)branchName=
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.com$
RewriteRule .* $0?branchName=%1 [L,QSA]